Opened 10 years ago
Last modified 10 years ago
#25693 closed Bug
Data loss if a ManyToManyField is shadowed by Prefetch — at Version 2
| Reported by: | Ian Foote | Owned by: | Ian Foote |
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | 1.7 |
| Severity: | Release blocker | Keywords: | |
| Cc: | tom@…, Simon Charette | Triage Stage: | Accepted |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description (last modified by )
With two models:
class Book(Model): name = CharField(max_length=100) class Author(Model): books = ManyToManyField(Book)
it is possible to create a prefetch query that loses data from Author.books:
poems = Book.objects.filter(name='Poems') Author.objects.prefetch_related( Prefetch('books', queryset=poems, to_attr='books'), )
When this queryset is evaluated, each Author's books is overridden by the poems queryset.
Change History (2)
comment:1 by , 10 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:2 by , 10 years ago
| Description: | modified (diff) |
|---|
Note:
See TracTickets
for help on using tickets.