В настоящее время я начинаю понимать некоторые тонкости Джанго и начинаю использовать их всерьез. У меня есть пример, где у меня есть несколько отношений внешних ключей, и я хочу сохранить объекты отдельно. Вот быстрый models.py
пример:
class CopyOfBook(models.Model):
barcode = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=100)
copies = models.ManyToManyField(CopyOfBook)
class Library(models.Model):
name = models.CharField(max_length=100)
books = models.ManyToManyField(Book)
Каждый из этих компонентов зависит от своего родителя - например, Книга не может существовать вне Библиотеки, а относится только к одной библиотеке. Я знаю, что это немного надуманный пример, но как лучше всего смоделировать это в Django?
Проблема в том, что если вы откроете администратор и добавите новую Книгу, вам будет представлен список всех экземпляров CopyOfBook, а не только тех, которые принадлежат этой книге (которая при добавлении новой). , будет пустой список).
Надеюсь, я объяснил это достаточно ясно, дайте мне знать, если вам нужны какие-либо разъяснения.
Обновление: Я пытался использовать ManyToMany.limit_choices_to
и использовать соответствующие related_name
в аргументах, но без особой радости.