1
我正嘗試使用post_save觸發器中的ManyToMany字段。 爲例ManyToMany字段未在pre_(post_)保存觸發器中分配
@receiver(post_save, sender=Post, dispatch_uid='update_post_images')
def update_post_images(sender, instance, using, **kwargs):
post_save.disconnect(update_post_images, sender=Post, dispatch_uid='update_post_images')
print 'before', instance.images.all()
img = Image.object.get(pk=1469)
instance.images.add(img)
print 'after', instance.images.all()
post_save.connect(update_post_images, sender=Post, dispatch_uid='update_post_images')
現在,當我看向Django的控制檯我看正是我想要的。 print 'before'
輸出一個圖像對象和print 'after'
- 2個對象 但是,當我從python控制檯(manage.py shell)查詢相同的後對象時,我看到只有一個圖像。
請有人告訴我什麼是這個觸發
我認爲這不是我所需要的。我再一次需要在post_save觸發器中爲ManytoMany字段填充一些值。例如,用戶在模型Post中更改了文本字段。在post_save我解析文本的img標籤並填充Post.images - 字段與這些值 – 1099511627776 2014-09-30 08:17:24
經過一番調查後,我發現這個:http://stackoverflow.com/questions/4432385/django-how-to-save- m2m數據通過後保存信號鏈接,它工作得很好。所以你確實是對的 – 1099511627776 2014-09-30 16:27:48