首页 > 解决方案 > Django admin如何按模型属性排序?

问题描述

我有一个带有属性的模型,我希望能够通过该属性在管理面板中对实例进行排序。

我的模型与_points属性:

class CustomUser(models.Model):
    inviter = models.ForeignKey('self', on_delete=models.SET_NULL, null=True, blank=True)

    @property
    def _points(self):
        res = CustomUser.objects.filter(inviter_id=self.id).count()
        return res 

我的管理员:

class CustomUserAdmin(admin.ModelAdmin):
    list_display = ['inviter', '_points']
 

    class Meta:
        model = CustomUser

_points字段显示在管理面板中,但我无法按它对条目进行排序

标签: djangodjango-modelsdjango-admin

解决方案


无法按属性对查询集进行排序。您只能按数据库字段排序


推荐阅读