在 Django 中扩展 AbstractUser 时,如何重新排序管理字段?

In Django when extending AbstractUser, how do you reorder admin fields?

在 Django 应用程序中,我有一个 class 扩展了 AbstractUser:

class CustomUser(AbstractUser):
    uid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    ...more fields that are not in the parent...

当我查看 /admin/ 时,我看到父字段在最上面,看起来很糟糕,密码是第一个字段。如何将子字段置于顶部?

您可以通过覆盖 UserAdmin 对字段进行排序:

from django.contrib.auth.admin import UserAdmin

@admin.register(User)
class CustomUserAdmin(UserAdmin):
    fieldsets = (
        (
            ('Personal information'),
            {'fields': ('first_name', 'last_name', 'email')}
        )
    )

以上代码将创建一个名为 Personal information 的部分,其中包含字段 first_namelast_nameemail.