Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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 Django M2M为每个亲戚保存和添加关系_Python_Django_M2m - Fatal编程技术网

Python Django M2M为每个亲戚保存和添加关系

Python Django M2M为每个亲戚保存和添加关系,python,django,m2m,Python,Django,M2m,我有一个关于Django M2M储蓄的愚蠢问题。 我不使用Django Admin,而是使用我自己的自定义模板 所以,我有一个简单的关系: # models class News(models.Model): title = models.CharField(max_length=256) class Webmaster(AbstractUser): ... news = models.ManyToManyField(News) 我需要在保存每一条新闻后,将其标记为每

我有一个关于Django M2M储蓄的愚蠢问题。 我不使用Django Admin,而是使用我自己的自定义模板

所以,我有一个简单的关系:

# models
class News(models.Model):
    title = models.CharField(max_length=256)

class Webmaster(AbstractUser):
    ...
    news = models.ManyToManyField(News)
我需要在保存每一条新闻后,将其标记为每一位站长的新新闻。所以我想出了这样的办法:

# models
class News(models.Model):
    title = models.CharField(max_length=256)

    def save(self, *args, **kwargs):
        if self.id:
            news = News.objects.all()[0]
            self.webmasters.add(news)
        super(News, self).save(*args, **kwargs)

但是我尝试了6-7种不同的方式,我的代码仍然不起作用,你能帮我吗?谢谢

您必须使用post_保存信号,在models.py中添加此代码

def Webmaster_add(sender, instance, **kwargs):
     #you can put here some condition stuff
     w = Webmasters.objects.all()
     for obj in w:
         obj.news.add(instance)

# register the signal
post_save.connect(webmaster_add, sender=News)

如果他想为每个站长做这件事,他必须查询信号中的所有站长并添加实例。谢谢!我要试试这个。。我真的很想给每个网站管理员添加新闻。类型对象“网站管理员”没有属性“添加”。我已经更新了我的代码,请重试并告诉我原因。我不知道为什么,但加载5+分钟花了这么多时间,但仍然没有完成。你没有错误。无论如何,谢谢你抽出时间。