[Django]-Show object ID (primary key) in Django admin object page

44👍

You can add it to readonly_fields in the modeladmin class.

class BookAdmin(admin.ModelAdmin):
    readonly_fields = ('id',)

admin.site.register(Book, BookAdmin)

3👍

EDIT

I removed my answer since it was the same as @DanielRoseman, but this is just for clarification. This is from the documentation:

If False, the field will not be displayed in the admin or any other
ModelForm. They are also skipped during model validation. Default is
True.

Therefore, using readonly_fields is the way to go.

1👍

To display the primary key (PK) of models in Django admin, you can customize the admin interface by creating a ModelAdmin class for your model and override the list_display attribute. Here’s an example:

from django.contrib import admin
from .models import YourModel

class YourModelAdmin(admin.ModelAdmin):
    list_display = ('pk', '__str__',)  # Add 'pk' to the list_display

admin.site.register(YourModel, YourModelAdmin)

In the example above, we created a YourModelAdmin class that inherits from admin.ModelAdmin. We added ‘pk’ to the list_display attribute to include the primary key in the list view of the model in the Django admin interface. You can also include other fields you want to display in the list view, separated by commas.

Leave a comment