【问题标题】:App.objects.get(foo=bar) has no 'order_by' attributeApp.objects.get(foo=bar) 没有 'order_by' 属性
【发布时间】:2012-10-12 18:58:30
【问题描述】:

我正在做一个查询,该查询需要获得对 TODAY 的一个对象的最大投票数。 我试过max_votes = App.objects.get(day=today).order_by("-votes")[0],但这给了我一个属性错误。当我执行max_votes = Day.objects.all().order_by("-votes")[0]

时,我没有收到该错误

我如何正确获得对今天的一个对象的最大投票数?

【问题讨论】:

    标签: mysql database django postgresql orm


    【解决方案1】:

    好的,所以 get() 应该只返回一个对象。 get() 是为按主键获取而设计的。如果它有多个具有相同属性的对象,它会给你一个错误。您可能正在寻找的是filter()

    所以你可以做这样的事情

    max_votes = App.objects.filter(day=today).order_by("-votes")[0]
    

    【讨论】:

    • 哈哈没那么多。无论如何,您甚至应该阅读making queries
    猜你喜欢
    • 2012-01-25
    • 2019-12-10
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 2011-12-27
    相关资源
    最近更新 更多