【发布时间】:2011-11-15 11:15:33
【问题描述】:
我正在构建一个大型 Django 应用程序,并希望将我的数据模型拆分为“每个文件的类”结构,但在尝试这样做时,我遇到了一些循环依赖问题复杂的模型。
例如,我有三个模型,都在单独的文件中:
class Book(models.Model):
title = models.CharField(max_length=35)
author = models.ForeignKey(Author)
genre = models.ForeignKey(Genre)
class Genre(models.Model):
name = models.CharField(max_length=20)
sample_book = models.ForeignKey(Book)
class Author(models.Model):
name = models.CharField(max_length=60)
preferred_genre = models.ForeignKey(Genre)
由于 Book 依赖于 Genre 而 Genre 依赖于 book,当我在任何地方导入 Book 时,它会启动一个循环模型依赖链,因为每个文件都从其他文件导入模型。我怎样才能避免这种情况?这是一种会很快变得非常庞大的项目,所以我不想将所有模型都集中到一个文件中。
【问题讨论】:
-
你的问题和stackoverflow.com/questions/895454/django-app-dependency-cycle这个问题类似,也有解决办法。
-
@codecool:谢谢!这完美地回答了我的问题!
标签: python django django-models