在我的模型我有一個ManyToManyField
通過不同的型號:如何獲取Django Admin中ManyToManyField的當前值?
class A(models.Model):
...
class B(models.Model):
field = models.ManyToManyField(A)
假設我有field
一些值poblated,我試圖讓項目的列表,擊中Save
按鈕之前用戶未選擇。對於這一點,我已經超負荷了save()
方法內B
:
def save(self, *args, **kwargs):
super(B, self).save(*args, **kwargs)
print self.field.all()
然而,擊中Save
按鈕時,的self.field.all()
我得到的值時,我裝的形式,我擁有的。
例如,如果我在列表中(a
和b
)有兩個選擇項目,我不選擇b
,撞上Save
按鈕,self.field.all()
在save()
時間仍然a
和b
。如果我再次編輯該項目,我看到b
未被選中,我選擇它並在save()
時間self.field.all()
僅爲a
。
我的假設是未選定的項目在save()
方法之後被處理,儘管我還沒有在Django文檔中找到引用。
有沒有辦法在save()
時間獲得更新列表?如果沒有,是否有一個方法可以重載以處理Model定義中的列表更新?
(注意:替代品也歡迎)