Performance: String representation with __str__
LOW IMPACT
This affects server-side rendering speed and template rendering time by controlling how model instances convert to strings.
class Product(models.Model): name = models.CharField(max_length=100) def __str__(self): return self.name
class Product(models.Model): name = models.CharField(max_length=100) def __str__(self): return str(self.id) + ' - ' + str(self.name) + ' - ' + str(self.get_expensive_related_data()) def get_expensive_related_data(self): # Simulate expensive DB call or computation return 'expensive info'
| Pattern | CPU Cost | DB Queries | Template Render Delay | Verdict |
|---|---|---|---|---|
| Complex __str__ with DB calls | High | Multiple | High (50-100ms per instance) | [X] Bad |
| Simple __str__ returning field | Low | None | Low (<10ms per instance) | [OK] Good |