Упорядочивание пользовательских полей в админке django

У меня есть модель User со следующими полями:

#models.py
class User(models.Model):
  ...
  first_name = models.CharField(max_length=255)
  middle_name = models.CharField(max_length=255, null=True, blank=True, default="")
  last_name = models.CharField(max_length=255)
  ...

Я написал пользовательское поле, как показано ниже, которое можно заказать с помощью first_name, middle_name и last_name:


@admin.register(User)
class UserAdmin(BaseUserAdmin):
    list_display = ("username", "email", "full_name", "is_staff", "date_joined")
    list_filter = ("is_staff", "is_active")

    @admin.display(ordering=("first_name", "middle_name", "last_name"))
    def full_name(self, user: User):
        return f"{user.first_name} {user.middle_name} {user.last_name}"

Но admin.display(ordering=...) не работает с несколькими полями, как описано выше.

Как сделать это пользовательское поле упорядоченным по нескольким полям?

Вернуться на верх