首页 > 解决方案 > 从对象获取 ManyToMany 字段时出错

问题描述

在管理区域创建对象后,如何执行某些功能?我正在尝试使用 post_save 信号并尝试从我的字段中获取所有对象,该字段类型为 ManyToMany,我还使用排序包(sortedm2m)。当我保存对象时,我尝试输出此字段,但是当我创建时,我得到一个空的查询集,当我编辑时,我得到旧的查询集,没有当前的更改。

class Servers(models.Model):
    name = models.CharField(max_length=120, default="name")
    content = SortedManyToManyField(Content)


@receiver(post_save, sender=Servers)
def create_server(sender, instance, **kwargs):
    print(instance.content.all())

标签: djangodjango-modelsdjango-signals

解决方案


你必须使用m2m_changed

否则,您将无法在信号中捕获许多字段。


推荐阅读