I have a class Task(models.Model), and i didn't define id field explicitly (since it defines automatically for you). I checked in the database, it exists for the Task. Now i would like to display it in the list via list_display property in admin.ModelAdmin. I have a bunch of things in there, only id is not showing up for any of the rows i have. Everything else works fine. Anyone know anything special i have to do to get id to display?
EDIT: if i define a function as follows:
def ID(self, obj):
return obj.id
and i put this function in list_display, it will display id just fine for some reason.
Thanks a lot!
Jason
To login to the site, open the /admin URL (e.g. http://127.0.0.1:8000/admin ) and enter your new superuser userid and password credentials (you'll be redirected to the login page, and then back to the /admin URL after you've entered your details).
It doesn't show by default. You need to create a custom Admin class for that model and then add 'id' to the list_display value. E.g. in whatever/admin.py:
class TaskAdmin(admin.ModelAdmin):
list_display = ['id', 'name', etc. etc]
admin.site.register(Task, TaskAdmin)
See the docs for more details.
I believe you have also used list_editable in your admin.ModelAdmin. This causes the ID to be hidden and is a known bug: http://code.djangoproject.com/ticket/12475.
The work around is to state list_display_links option:
class AdAdmin(admin.ModelAdmin):
list_display = ['id', 'ad_title', 'status', 'sponsor' ... ]
list_display_links = ['id', 'ad_title'] # forcing to display id of model
list_editable = ['status']
...
Thanks and hope this helps.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With