[英]Dynamically add ManyToMany relationship to Django objects
My Company class have multiple M2M relationship with itself 我的公司类与自身具有多个M2M关系
class Company(models.Model): 公司类别(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")
I would like to be able to dynamically add M2M relationship like this, but it obviously does not work. 我希望能够像这样动态添加M2M关系,但是显然不起作用。 Is there a way to do it dynamically ? 有没有办法动态地做到这一点?
company, was_created = Company.objects.get_or_create(name=info)
setattr(self,key, company)
Got it. 得到它了。 Simply have to pass a list instead.. 只需传递列表即可。
company, was_created = Company.objects.get_or_create(name=info)
setattr(self,key, [company,])
The syntax is for adding M2M is field.add(obj_pk or obj)
用于添加M2M的语法是field.add(obj_pk or obj)
company, was_created = Company.objects.get_or_create(name=info)
self.comp.add(company)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.