动态地将ManyToMany关系添加到Django对象

phi*_*o20 4 python django dynamic

我的公司类与自己有多个M2M关系

class Company(models.Model):

divisions = models.ManyToManyField('self', symmetrical=False, related_name="parent_companies")
parents = models.ManyToManyField('self', symmetrical=False, related_name="divisions_companies")
comp = models.ManyToManyField('self', symmetrical=False, related_name="comp")
friends = models.ManyToManyField('self', symmetrical=False, related_name="friends")
Run Code Online (Sandbox Code Playgroud)

我希望能够像这样动态添加M2M关系,但它显然不起作用.有没有办法动态地做到这一点?

                    company, was_created = Company.objects.get_or_create(name=info)
                    setattr(self,key, company)
Run Code Online (Sandbox Code Playgroud)

phi*_*o20 5

得到它了.只需要传递一个列表而不是..

 company, was_created = Company.objects.get_or_create(name=info)
                        setattr(self,key, [company,])
Run Code Online (Sandbox Code Playgroud)