Tôi sẽ giới thiệu tóm tắt: để làm việc theo tinh thần và ý tưởng về ứng dụng Django, ứng dụng này có thể nhập mô hình từ bên trong ứng dụng khác không? Giả sử, ứng dụng Thống kê người dùng sẽ nhập mô hình từ ứng dụng Người dùng giống như: từ users.models người dùng nhậpChia sẻ các mô hình giữa các ứng dụng Django
Trả lời
Nếu bạn đang xây dựng một ứng dụng nội bộ không có cơ hội được phát hành ra công chúng, chắc chắn, hãy làm bất cứ điều gì bạn muốn.
Nếu bạn đang xây dựng một ứng dụng nội bộ có ít cơ hội được phát hành ra công chúng, nhưng chắc chắn sẽ được các nhà phát triển hiện tại sử dụng, nhưng hãy chắc chắn ghi lại những gì ứng dụng cần làm việc đúng cách.
Nếu bạn đang xây dựng một ứng dụng để phát hành công khai, hãy cố gắng giữ cho ứng dụng tự phụ thuộc (và phụ thuộc vào django-internals, tức là sử dụng những gì django cung cấp, khi có thể). Nếu bạn thực sự cần ứng dụng của bên thứ ba hoạt động hoặc nếu ứng dụng của bên thứ ba làm cho mã của bạn dễ quản lý hơn, thì chắc chắn, bao gồm các phụ thuộc, nhưng hãy chắc chắn gấp đôi tài liệu tất cả yêu cầu và thiết lập cần thiết.
Trong hầu hết các trường hợp, bạn có thể thực hiện hầu hết mọi thứ bạn muốn miễn là bạn có đủ tài liệu.
Tôi thực hiện, tuy nhiên, phải đặt câu hỏi về sự tỉnh táo khi tạo mô hình User
của riêng bạn có cùng tên với nội dung dựng sẵn của django auth.User
.
Nó không chỉ là cùng tên, đó là cùng một lớp mô hình chính xác. –
Các ứng dụng thống kê người dùng và người dùng chỉ vì lợi ích của ví dụ, bởi vì trường hợp của tôi không phải là dễ hiểu. Điều này đã trả lời câu hỏi của tôi, cảm ơn bạn! –
Không làm điều này. Họ sẽ có cùng tên ứng dụng và ORM sẽ bị nhầm lẫn. Sử dụng một mô hình trừu tượng thay vào đó, và có cả hai bắt nguồn từ nó.
Bạn không hiểu lầm những gì OP đang yêu cầu? Anh ấy không nói gì về việc xác định các mô hình giống hệt nhau trong các ứng dụng khác nhau, anh ấy đang nói về việc nhập lớp Người dùng vào ứng dụng của mình để anh ấy có thể lấy dữ liệu từ nó, chắc chắn? IOW, câu trả lời cho câu hỏi này là "Có, tất nhiên bạn có thể." –
@Daniel: Có thể là trường hợp như vậy. Nếu OP làm rõ những gì anh ta đang tìm kiếm thì tôi sẽ sửa lại. –
Bạn nên xem xét sửa đổi nó vì bạn đã sai rõ ràng về cách giải thích của bạn – Sensei
Bạn thử kẹo tốt hơn extending the Django User model with inheritance. Bạn sẽ sử dụng người dùng django với trường tùy chỉnh được thêm vào, vì vậy bạn sẽ có cùng một người dùng cho tất cả các ứng dụng.
Tôi đã nhìn thấy một số người trên IRC (freenode # django) trong quá khứ đã gặp sự cố sau khi gặp sự cố khi cố gắng phân lớp 'auth.User'. Nói chung, đó là một trong những điều bạn nên tránh xa trừ khi bạn biết bạn cần nó. Ngoài ra, [hồ sơ người dùng] (http://docs.djangoproject.com/en/1.2/topics/auth/#storing-additional-information-about-users) là phương pháp được ưa thích chung để lưu trữ thông tin bổ sung về Người dùng. – eternicode
Câu trả lời là có. Nó hoàn toàn ổn cho một ứng dụng bên trong dự án django của bạn để nhập các mô hình từ một ứng dụng khác. Sức mạnh của một dự án django nằm trong các ứng dụng và tương tác của chúng.
Cũng đảm bảo rằng bạn có ứng dụng tiện ích nhập các mô hình từ các ứng dụng chung chung hơn chứ không phải theo cách khác. Ứng dụng "userstatistics" sẽ nhập các mô hình từ ứng dụng "người dùng" nhưng ứng dụng "người dùng" không nên dựa vào "userstatistics".
Nếu ứng dụng của bạn đang nhập mô hình từ ứng dụng của bên thứ 3 (cho phép nói django-piston), hãy chắc chắn chỉ định rằng trong tệp yêu cầu.
- 1. Mô hình ZF2 được chia sẻ giữa các Mô-đun
- 2. Cài đặt chia sẻ giữa các ứng dụng
- 3. Cách chia sẻ đối tượng giữa các ứng dụng java?
- 4. Chia sẻ bảo mật giữa các ứng dụng web
- 5. Chia sẻ dữ liệu giữa các ứng dụng trên iDevice
- 6. PyroCMS: cách chia sẻ tài nguyên giữa các mô-đun?
- 7. chia sẻ giữa các mô-đun với AngularJS?
- 8. Cách chia sẻ mã trên các mô hình? (Rails 2.3)
- 9. Cách chia sẻ cài đặt cấu hình giữa các ứng dụng mutiple
- 10. Cách chia sẻ cùng một biến giữa các mô-đun?
- 11. Chia sẻ mô hình giữa 2 Rails API's (Ứng dụng riêng biệt)
- 12. Chia sẻ cơ sở dữ liệu giữa Twisted và Django
- 13. Chia sẻ biến giữa các quá trình
- 14. Django - Cách chia sẻ hằng số cấu hình trong ứng dụng?
- 15. resx chia sẻ giữa các dự án
- 16. Cách chia sẻ logic nghiệp vụ giữa nhiều ứng dụng
- 17. Chia sẻ các gói Java giữa các mô-đun trong IntelliJ?
- 18. Chia sẻ phiên giữa webservice và ứng dụng asp.net
- 19. Ứng dụng Rails và api goliath và cơ sở dữ liệu/mô hình chia sẻ
- 20. Chia sẻ các biến giữa các lớp và phương thức
- 21. Bộ nhớ chia sẻ giữa các quá trình python
- 22. Python - Chia sẻ một mảng mờ giữa các quá trình?
- 23. Chia sẻ các biến giữa các hàm trong PHP mà không sử dụng các globals
- 24. Cách tốt nhất để chia sẻ hình ảnh giữa một số ứng dụng
- 25. Các tệp cấu hình được chia sẻ trong .NET
- 26. Threadpool có được chia sẻ giữa các miền ứng dụng không?
- 27. App Engine - Memcache có được chia sẻ giữa các phiên bản của một ứng dụng không?
- 28. Chia sẻ dữ liệu riêng tư giữa các ứng dụng iOS có ID nhóm khác nhau
- 29. Chia sẻ một đối tượng được tuần tự hóa giữa các ứng dụng
- 30. Chia sẻ kết nối db giữa các luồng trong ứng dụng C#?
lưu ý rằng trong tên mô hình django nên là số ít. – Ski