gpt4 book ai didi

python - 在 post_save 上添加 M2M

转载 作者:太空宇宙 更新时间:2023-11-03 21:44:27 24 4
gpt4 key购买 nike

我有一个具有 m2m 关系的对象,我想在保存后填充它。

问题是信号被触发了,但是add命令不起作用。我确实使用 python shell 尝试了相同的步骤,并且效果很好。

class Event(models.Model):
name = models.CharField(max_lenght=40)
location = models.ManyToManyField('Location')

class Location(models.Model):
address = models.CharField(max_lenght=60)


@receiver(post_save, sender=Event)
def populate_location(sender, instance, **kwargs):
instance.locations.add(*Locations.objects.all())

有什么提示吗?

最佳答案

如果您想添加所有可以使用set()而不是add的对象,您可以查看文档 - https://docs.djangoproject.com/en/2.1/ref/models/relations/#django.db.models.fields.related.RelatedManager.set

还有一个建议,如果您使用 add,请尝试在执行后立即打印 instance.locations - instance.locations.add(*Locations.objects .all()) 并发布结果。

关于python - 在 post_save 上添加 M2M,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52598078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com