In Django is it okay to have models of two different apps dependent of each other?
我正在从头开始开发一个计费和会计应用程序,其中我创建了两个不同的应用程序,分别是:
现在我有一个问题,我需要在以下情况下将它们联系起来:
我试过在这些应用程序的模型中使用外键,但它看起来非常粗糙和糟糕。
我不确定我是否应该把所有的模型都放在相同的位置上;我想让有见识的人对我的设计进行一次回顾,这样我才能知道更好的方法是什么。
很好。为了避免导入循环,可以使用字符串定义;
模块"foo/models.py"
1 2 | class Foo(models.Model): bar = models.ForeignKey('bar.Bar') # no explicit import statement required |
模块"bar/models.py"
1 2 | class Bar(models.Model): foo = models.ForeignKey('foo.Foo') |
号
真正的问题是你的结构是否使事情更直观?如果您不确定为什么需要拆分依赖的代码片段,请不要这样做。
相关主题:Django中业务逻辑与数据访问的分离