Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 前(后)保存触发器中未分配多个字段_Python_Django_Django Signals_Django Orm - Fatal编程技术网

Python 前(后)保存触发器中未分配多个字段

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

我正在尝试使用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_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-字段。经过一些调查,我发现了这个链接,它工作得很好。你说得对