相关疑难解决方法(0)

Django从post_save信号访问ManyToMany字段

我有一个Django模型,我想在保存后或刚刚保存后修改对象权限.我尝试了一些解决方案,post_save信号似乎是我想要做的最佳候选者:

    class Project(models.Model):
        title = models.CharField(max_length=755, default='default')
        assigned_to = models.ManyToManyField(
            User, default=None, blank=True, null=True
        )
        created_by = models.ForeignKey(
            User,
            related_name="%(app_label)s_%(class)s_related"
        )


    @receiver(post_save, sender=Project)
    def assign_project_perms(sender, instance, **kwargs):
        print("instance title: "+str(instance.title))
        print("instance assigned_to: "+str(instance.assigned_to.all()))
Run Code Online (Sandbox Code Playgroud)

在这种情况下,创建项目时,信号会触发,我会看到titleassigned_to字段的空列表.

保存后如何访问保存的assigned_to数据?

django django-signals django-models

29
推荐指数
2
解决办法
1万
查看次数

标签 统计

django ×1

django-models ×1

django-signals ×1