如何查询Django中的字段

时间:2017-05-31 21:39:04

标签: sql django database

这可能是一个非常简单的问题,但我无法弄清楚。我的用户模型的设置方式是它们附有一个配置文件,而配置文件中有一个Coins值。

我想通过硬币返回前10名用户,所以我认为像User.objects.all().order_by('coins')[:10]这样的东西可行,但问题是硬币附在个人资料上。

.order_by('profile.coins')似乎也不起作用。

1 个答案:

答案 0 :(得分:4)

如果要遍历关系,请在查询集中使用双下划线表示法:

User.objects.order_by('profile__coins')[:10]

相关文档在此处:https://docs.djangoproject.com/en/1.11/topics/db/queries/#lookups-that-span-relationships

这些关系可以像你喜欢的那样深层嵌套,但请记住,深度嵌套会通过创建复杂的sql连接严重影响你的性能。