Performance: ForeignKey for one-to-many
MEDIUM IMPACT
This affects database query performance and page load speed when rendering related data in templates.
parents = Parent.objects.prefetch_related('child_set').all() for parent in parents: children = parent.child_set.all() # render parent and children
parents = Parent.objects.all() for parent in parents: children = Child.objects.filter(parent=parent) # render parent and children
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| N+1 queries with ForeignKey | Minimal DOM nodes | 1 reflow per render | Low paint cost | [X] Bad |
| prefetch_related with ForeignKey | Minimal DOM nodes | 1 reflow per render | Low paint cost | [OK] Good |