python - Django在另一个不存在的表中按键排序

标签 python mysql django

使用 Django,我有 2 个模型。

Model1 -> User
          -> ID
          -> Some properties

Model2 -> Activeness
          -> UserId (Foreign Key to User)
          ->rating

这是一个简化的案例。 我正在尝试获取按活跃度表中的评级排序的用户列表。 User.objects.all().order_by('activeness__ rating')

这工作正常。

但是,我在某些情况下尚未创建新用户的事件对象。 这将导致这些新用户出现在所获得的列表的顶部。 我希望它们出现在列表的底部。

我无法使用 python,因为我正在使用分页并一次检索一页。

任何人都可以提供建议吗? 谢谢。

最佳答案

您是否尝试过使用 annotate ?可能有帮助

使用注释,你可以做这样的事情

User.objects.all().annotate(num_rating=Count('activeness__rating')).order_by('num_rating')

希望对你有帮助

关于python - Django在另一个不存在的表中按键排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12811266/

相关文章:

python - 使用 FastCGI 或 mod_python 运行 Django

Python lxml 包装元素

django - 如何将两个查询混合为一个作为下拉元素

python - 如何不改变 Python 中的嵌套列表?

java - 如何为数据存储管理配置任务队列以最大限度地减少前端实例数量?

python - 如何将杂乱的字典扁平化为列表?

php - codeigniter 中的动态菜单和角色权限

php - 如何从搜索结果中每页显示 n 行数

function - 定义非类私有(private)函数在 Python 中有什么意义吗?

mysql - Rails 4 相当于 SQL "select count"?