我将简要介绍一下:为了使用Django应用程序的精神和想法,应用程序可以从另一个应用程序中导入模型吗?比如,用户统计应用程序将从用户应用程序导入模型,例如:from users.models import users
答案 0 :(得分:29)
答案是肯定的。你的django项目中的一个应用程序从另一个应用程序导入模型是完全可以的。 django项目的强大之处在于应用程序及其交互。
还要确保您具有从更通用的应用程序导入模型的实用程序应用程序,而不是其他方式。所以“userstatistics”应用程序应该从“用户”应用程序导入模型,但“用户”应用程序不应该依赖于“userstatistics”。
如果您的应用从第三方应用程序导入模型(比如django-piston),请务必在需求文件中指定。
答案 1 :(得分:20)
如果您正在构建一个无法向公众发布的内部应用程序,请务必做任何您想做的事。
如果你正在构建一个几乎没有机会向公众发布的内部应用程序,但肯定会被未来/当前的开发人员使用,但请务必记录应用程序需要正常工作的内容。 / p>
如果您正在构建一个公开发布的应用程序,请尝试使其自我依赖(并且django-internals依赖,即,尽可能使用django提供的内容)。如果您确实需要第三方应用程序,或者第三方应用程序会使您的代码更易于管理,那么请确保包含依赖项,但要确保记录所有要求和必要的设置。
在大多数情况下,只要你有足够的文档,你几乎可以做任何你想做的事。
但是,我确实要质疑制作与django的内置User
同名的自己的auth.User
模型的完美性。
答案 2 :(得分:1)
你可以尝试更好extending the Django User model with inheritance。您将使用添加了自定义字段的django用户,因此您将拥有所有应用程序的相同用户。
答案 3 :(得分:-1)
不要这样做。他们将具有相同的应用程序名称,并且ORM将会混淆。改为使用抽象模型,并从中衍生出来。