django admin.py all fields

from django.contrib import admin
from .models import YourModel

class YourModelAdmin(admin.ModelAdmin):
    list_display = ('field1', 'field2', 'field3')
    search_fields = ('field1', 'field2')
    list_filter = ('field1', 'field2')
    ordering = ('field1',)

    fieldsets = (
        (None, {
            'fields': ('field1', 'field2', 'field3')
        }),
        ('Advanced Options', {
            'classes': ('collapse',),
            'fields': ('field4', 'field5')
        }),
    )

    readonly_fields = ('field6',)

    def get_readonly_fields(self, request, obj=None):
        if obj and obj.field1 == 'some_value':
            return ('field6',)
        return super().get_readonly_fields(request, obj)

    def get_prepopulated_fields(self, request, obj=None):
        return {'field2': ('field1',)}

admin.site.register(YourModel, YourModelAdmin)