3
我想保存一個對象,以便保存M2M。然後,我想讀出M2M字段來進行一些計算並在保存的對象上設置一個字段。在save()中獲取新創建對象的ID
class Item(models.Model):
name = models.CharField(max_length=20, unique=True)
product = models.ManyToManyField(SomeOtherModel, through='SomeTable')
def save(self, *args, **kwargs):
super(Item, self).save(*args, **kwargs)
m2m_items = SomeTable.objects.filter(item = self)
# DO SOME STUFF WITH THE M2M ITEMS
m2m_items不會打開,。有什麼辦法可以解決這些問題嗎?
對不起,我把信息寫錯了。我重寫了我的問題。我所做的是我嘗試獲得許多許多物品。但由於某種原因,他們不會出現 – Stephan 2011-04-14 20:01:36
謝謝你的回答。我試圖現在使用m2m_changed信號。 models.signals.m2m_changed.connect(set_total_price,sender = Deal.product.through)由於某種原因,它不會調用我的set_total_price方法。它適用於post_save信號......嗯,我有一些事情要重試。非常感謝。 – Stephan 2011-04-14 21:47:45
進一步閱讀:我最終通過遍歷實例讀取了save_formset中的M2M。然後我調用保存的項目並用新值保存。 – Stephan 2011-04-15 12:14:39