Я создаю большое приложение 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 зависит от жанра, а жанр зависит от книги, когда я импортирую Book где угодно, он запускает цепочку циклических зависимостей модели, поскольку каждый файл импортирует модель из других файлов. Как я могу избежать этого? Это проект, который очень быстро разрастется, поэтому я не хочу просто объединять все модели в один файл.