В Django Admin легко создать настраиваемое поле на странице списка моделей, например:
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
list_display = ('id', 'field1', 'field2', 'custom_field3')
def custom_field3(self, obj):
return obj.get_custom_field3_display()
custom_field3.short_description = 'Custom Field 3'
custom_field3.admin_order_field = 'field3' # makes column header sortable
MyModel.field3 будет использоваться для сортировки теперь интерактивного столбца «Настраиваемое поле 3». заголовок на странице списка моделей.
Как я могу добиться того же на встроенной модели? Я могу легко определить настраиваемое поле таким же образом, но строка admin_order_field
не дает такого же результата:
class MyModelInline(admin.TabularInline):
model = MyModel
fields = ('id', 'field1', 'field2', 'custom_field3')
def custom_field3(self, obj):
return obj.get_custom_field3_display()
custom_field3.short_description = 'Custom Field 3'
custom_field3.admin_order_field = 'field3' # doesn't seem to have any effect