On May 7, 10:53 pm, Michael <[email protected]> wrote: > Hi, > > I am using bulk_create on a ManyToMany relationship and I think there is a > bug. > Here is the code: > class Company(models.Model): > url = models.URLField(unique=True) > > class Website(models.Model): > url = models.URLField(unique=True) > companies = models.ManyToManyField(Company, null=True, blank=True) > > list_companies = [Company(url='...'), Company(url='...')] > w.companies.bulk_create(list_companies) > -> [< Company: Company object>, < Company: Company object>] #The 2 > Company objects are created > > w.companies.all() > -> [] # But the relationship is broken > > The 2 companies are created but I cannot access to them through my > many-to-many relationship. > I looked at the database and yes I can find the 2 companies in the company > table but no rows in the website_company table. > > What do you think ? Do you have the same behavior ? > Lemme know if I do it wrong.
Hmmh, I think you have found an oversight. Please open a ticket in Trac. It is possible the fix is going to be just to disallow use of bulk_create through relations, as fixing this properly is going to be hard (to create the relation you need the PK of the objects created, and bulk_create doesn't provide the PK if it comes from a sequence...). Or, maybe just document that no, the relations are not created for you. For reverse foreign key this could be fixed however... - Anssi -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.
