我正在尝试按照我在模型中定义的属性对查询集进行排序,但不确定最佳方法是什么。这是属性:
@property
def name(self):
if self.custom_name:
return self.custom_name
else:
return self.module_object.name
基本上,我想要做一个:
things = Thing.objects.all().order_by('-name')
但当渲染时遇到 Caught FieldError 错误:无法将关键字 'name' 解析为字段。
有任何想法吗?
编辑:我明白不能以这种方式进行排序,因为 @property
不是数据库字段。我的问题是,鉴于 @property
不是数据库字段,如何进行排序。