Displaying the model's__unicode__ in django admin

django, django-admin

Solution

From the `list_display` documentation there are four things you can add there:

- A field

- Some method (a callable) that accepts one variable that is the instance for which the row is being displayed.

- A string that is the name of a method or attribute defined in the model class.

- A string that is the name of a method that is defined in `ModelAdmin`.

For your case we need #3 for `list_display`.

For `search_fields` its easier as you can use follow notation (`__`) to do lookups.

In the end we come up with this:

class AdultAdmin(admin.ModelAdmin):
    list_display = ('__unicode__', 'Student_Name',)
    search_fields = ['user__username']

Problem

I would like to display the model's username in Django Admin interface but not very sure how to do it.. ``` The models.py: class Adult(models.Model): user = models.OneToOneField(User) fullname = models.CharField(max_length=100, blank=True) def __unicode__(self): return self.user.username Admin.py: class AdultAdmin(admin.ModelAdmin): list_display = ('??', 'Student_Name',) search_fields = ['??',] admin.site.register(Adult, AdultAdmin) ``` What should go inside the ?? above ? I would like to display the unicode or the self.user.username? How do i do it? Need some guidance...

Original source