我正在构建一个大型 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 时,它会启动一个循环模型依赖链,因为每个文件都从其他文件导入模型。我怎样才能避免这种情况?这是一种会很快变得非常庞大的项目,所以我不想将所有模型都集中到一个文件中。
最佳答案
您还可以将模型名称指定为字符串:
preferred_genre = models.ForeignKey("Genre")
关于python - Java 风格文件结构中的 Django 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7390456/