python - 如何使用 django-sortable-listview (SortableListView) 通过 Django 模型方法对列进行排序?
问题描述
使用django-sortable-listview包,我使用SortableListView来整理所有模型字段。就我而言,除了模型字段之外,我还想通过模型方法对其进行排序。
Models.py
class Employee(models.Model):
name = models.CharField()
designation = models.CharField()
company = models.ForeignKey(Company)
team = models.CharField()
# method
def team_count(self):
count = len(Employee.objects.filter(team=self.team))
return count
Views.py
class EmployeeListView(SortableListView, generic.list.ListView):
allowed_sort_fields = {'name': {'default_direction': '', 'verbose_name': 'Employee Name'},
'designation': {'default_direction': '', 'verbose_name': 'Designation'},
'team': {'default_direction': '', 'verbose_name': 'Team Name'},
'team_count()': {'default_direction': '', 'verbose_name': 'No of Team members'}}
default_sort_field = 'name'
queryset = Employee.objects.all()
paginate_by = 10
在上面的示例中,我想列出员工姓名、职务、团队名称和团队成员人数。
有人帮我对“team_count”列进行排序吗?
解决方案
推荐阅读
- python - 打印带有字典/列表的字符串时,如何防止括号和引号被打印出来?
- c++ - 蓝图不影响其父级 - 虚幻引擎
- django - 如果有多个值,则在 .values_list 时排除对象
- angular - node_modules/rxjs/internal/types.d.ts 中的角度错误
- c# - 如何反序列化具有来自不同类的对象的 JSON 字符串?
- r - 替换高频数据中的值
- python - Google Cloud Run - 如何设置“Access-Control-Allow-Origin”标头?
- python - QScintilla 中的 Pygments
- jenkins - 如何在不掩盖 withCredentials.usernamePassword 中的 PASSWORD 的情况下重用 Jenkins 凭据?
- python - 使用类将整数列出为字符串