Performance: Related name for reverse access
MEDIUM IMPACT
This affects database query efficiency and template rendering speed when accessing related objects in Django ORM.
class Author(models.Model): name = models.CharField(max_length=100) class Book(models.Model): author = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='books') # Accessing books from author with related_name books = author.books.all()
class Author(models.Model): name = models.CharField(max_length=100) class Book(models.Model): author = models.ForeignKey(Author, on_delete=models.CASCADE) # Accessing books from author without related_name books = author.book_set.all()
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Default reverse accessor (book_set) | N/A | N/A | N/A | [!] OK - can cause multiple DB queries |
| Custom related_name with prefetch_related | N/A | N/A | N/A | [OK] Good - single optimized DB query |