Django - 按相关字段对列表进行排序
我的模型:
Item:
name
desc
Type:
name
Value:
item.ForeignKey(Item)
type.ForeignKey(Type)
val.CharField # varchar or numeric
现在我有一个项目的对象列表,但没有查询集,例如: items = [
。 t = 5
是 Type 中一行的 id。
我想按表 Value
的 val
对此列表进行排序,值的类型为 t
。有什么想法吗?
多谢!
更新:
- 我添加了一个新条件。
My models:
Item:
name
desc
Type:
name
Value:
item.ForeignKey(Item)
type.ForeignKey(Type)
val.CharField # varchar or numeric
Now I have an objects list of items but not a QuerySet, for instance: items = [<object:1>, <object:2>, <object:4>]
. And t = 5
is an id of a row from Type.
I want to sort this list by val
of table Value
and type of value is t
. Any idea?
Thanks alot!
UPDATE:
- I've added a new condition.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您始终可以使用 lambda 函数对项目列表进行排序(假设
Item
和Value
模型之间存在一对一的关系,否则我认为问题不会产生意义)虽然要注意的一点是排序将在内存中进行。
对于更新的问题
只需添加过滤器就可以完成任务
You can always use lambda function to sort the list of items (assuming there is a one to one relationship between
Item
andValue
model, otherwise I don't think the question makes sense)Although the point to be noted is that the sorting will be in memory.
For Updated Question
Just adding a filter should do the task
检查我在这个排序教程中找到的关键功能蟒蛇文档
Check Key Functions in this sort tutorial that I found in python docs
应该这样做,以防某些项目没有设置外键。
should do it in case your foreign key isn't set for some items.