【发布时间】:2021-08-16 10:48:18
【问题描述】:
我需要用注释替换 _points 属性,以便我有机会按此值对 Django 管理面板中的条目进行排序。
我的模特:
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 = ['created', 'updated']
def get_queryset(self, request):
qs = super(CustomUserAdmin, self).get_queryset(request)
qs = qs.annotate(points=(HOW TO CALCULATE _points HERE?).order_by('points')
return qs
【问题讨论】:
标签: django django-models django-admin django-annotate