我正在尝试按照我在模型中定义的属性来设置查询集,但不确定执行此操作的最佳方法.这是属性:
@property
def name(self):
if self.custom_name:
return self.custom_name
else:
return self.module_object.name
Run Code Online (Sandbox Code Playgroud)
基本上,我想做一个:
things = Thing.objects.all().order_by('-name')
Run Code Online (Sandbox Code Playgroud)
但当然在渲染时遇到Caught FieldError:无法将关键字'name'解析为字段.
有任何想法吗?
编辑:我知道我不能这样排序,因为@property它不是一个数据库字段.我的问题是如何排序给定@property的不是数据库字段.
Gab*_*aru 21
你不能这样做,因为该属性不在MySQL中,而是在你的python代码中.如果你真的想这样做,你可以在客户端(虽然它会很慢):
sorted(Thing.objects.all(), key=lambda t: t.name)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11626 次 |
| 最近记录: |