Python 前(后)保存触发器中未分配多个字段
我正在尝试使用post_save trigger中的许多字段。 一个例子Python 前(后)保存触发器中未分配多个字段,python,django,django-signals,django-orm,Python,Django,Django Signals,Django Orm,我正在尝试使用post_save trigger中的许多字段。 一个例子 @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_im
@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控制台时,我看到的正是我想要的。“之前”打印输出一个图像对象,“之后”打印-2个对象
但是当我从python控制台manage.py shell查询相同的post对象时,我看到只有一个图像
请有人告诉我这个触发器的工作原理许多字段的行为与其他带有信号的字段不同。查看并在该信号而不是post_保存信号上运行您的逻辑。我认为这不是我需要的。再一次,我需要在post_save trigger中为许多字段填充一些值。例如,用户更改了模型文章中的文本字段。在post_save中,我正在解析img标记的文本,并用这些值填充post.images-字段。经过一些调查,我发现了这个链接,它工作得很好。你说得对