Django: accessing the model instance from within ModelAdmin?

I think you might need to approach this in a slightly different way – by modifying the ModelForm, rather than the admin class. Something like this: class OrderForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(OrderForm, self).__init__(*args, **kwargs) self.fields[‘parent_order’].queryset = Order.objects.filter( child_orders__ordernumber__exact=self.instance.pk) class OrderAdmin(admin.ModelAdmin): form = OrderForm

Can “list_display” in a Django ModelAdmin display attributes of ForeignKey fields?

As another option, you can do look ups like: class UserAdmin(admin.ModelAdmin): list_display = (…, ‘get_author’) def get_author(self, obj): return obj.book.author get_author.short_description = ‘Author’ get_author.admin_order_field = ‘book__author’ Since Django 3.2 you can use display() decorator: class UserAdmin(admin.ModelAdmin): list_display = (…, ‘get_author’) @display(ordering=’book__author’, description=’Author’) def get_author(self, obj): return obj.book.author