Есть ли опция в представлении администратора django для заказа полей внешнего ключа? то есть у меня есть внешний ключ к модели "Школа", которая отображается как выпадающий список, отсортированный по pk. Я бы хотел, чтобы он сортировался в алфавитном порядке.
Список полей внешнего ключа django admin
Ответ 1
Конечно - вы можете...
- Типичное упорядочение ModelAdmin через formfield_for_foreignkey
- Установить глобальный заказ по умолчанию через диспетчер
- Установить порядок по умолчанию с помощью мета-класса модели
- Формируется конкретный заказ, затем передается вашему ModelAdmin
Специальный метод ModelAdmin: (другие методы находятся в моем ответе в сообщении, связанном с выше)
class MyModelAdmin(admin.ModelAdmin):
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "school":
kwargs["queryset"] = School.objects.order_by('name')
return super(MyModelAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
Примеры для других 3 методов, не связанных с администратором, в моем сообщении, указанном выше.