我目前正在掌握一些在Django中的精細點,我開始認真地使用它。我有一個例子,我有幾個外鍵關係,並且我想保持對象不同。下面是一個簡單models.py
例如:Django:維護單獨的對象組,幾乎像'子女'
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
,但沒有太多的喜悅。
那麼他說的是一本書是特定的單個庫.... – 2010-12-05 16:30:14