簡體   English   中英

動態將ManyToMany關系添加到Django對象

[英]Dynamically add ManyToMany relationship to Django objects

我的公司類與自身具有多個M2M關系

公司類別(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")

我希望能夠像這樣動態添加M2M關系,但是顯然不起作用。 有沒有辦法動態地做到這一點?

                    company, was_created = Company.objects.get_or_create(name=info)
                    setattr(self,key, company)

得到它了。 只需傳遞列表即可。

 company, was_created = Company.objects.get_or_create(name=info)
                        setattr(self,key, [company,])

用於添加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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM