0

这是一个有趣的问题,我有一个按评分顺序列出的用户列表,如果两个用户具有相同的评分,我有一个随机数,用于确保列表不会总是相同。

目前我通过执行查询来做到这一点:

   选择 app_model1.column1、app_model1.colum2、app_model2.column3
   从 app_model1 左加入 app_model2
   按colum1排序,随机();

但是,当我将一个大型 Django 应用程序重构为几个较小的应用程序时,我感到震惊,我将表的名称硬编码到这个 SQL 中,(并且它破坏了我的单元测试),我真的应该使用本机 ORM 来实现这一点。

如何获得相同的结果,但使用 Django 的 django.contrib.auth.User 和 Profile 模型?

4

1 回答 1

3

根据文档,您可以使用特殊的“?” 字段名称:

    class Meta:
        ordering = ('colum1', '?')
于 2010-02-08T21:43:25.803 回答