Opened 4 years ago
Closed 4 years ago
#33352 closed New feature (duplicate)
ModelAdmin.list_display option should support double-underscore notation to express field-of-associated-model
| Reported by: | Ofer Nave | Owned by: | nobody |
|---|---|---|---|
| Component: | contrib.admin | Version: | 4.0 |
| Severity: | Normal | Keywords: | |
| Cc: | Adam Johnson | Triage Stage: | Unreviewed |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Many of the options on ModelAdmin already support double-underscore notation, such as 'ordering' and 'search_fields':
However, 'list_display' doesn't. This seems like an extremely common use case that everyone would benefit from. For example, imagine I have the following models:
class User(models.Model):
name = models.CharField(max_length=50)
class CreditCard(models.Model):
owner = models.ForeignKey(User)
label = models.CharField(max_length=30)
limit = models.IntegerField()
And wanted to include the credit card owner's name as a column on the Changelist page for CreditCard. Right now I have to do this:
class CreditCardAdmin(admin.ModelAdmin):
list_display = [ 'owner_name', 'label', 'limit' ]
@admin.display(ordering='owner__name', description='Owner')
def owner_name(self, obj):
return obj.owner.name
Instead of just doing this:
class CreditCardAdmin(admin.ModelAdmin):
list_display = [ 'owner__name', 'label', 'limit' ]
BTW - A version of this is already implemented in the django-related-admin package:
https://github.com/PetrDlouhy/django-related-admin/
Change History (2)
comment:1 by , 4 years ago
| Cc: | added |
|---|
comment:2 by , 4 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
Duplicate of #10743.