首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongoengine最新()

Mongoengine最新()
EN

Stack Overflow用户
提问于 2014-03-20 11:11:58
回答 2查看 6.4K关注 0票数 14

在django中,如果我使用MongoEngine,如何获得查询集的最新实例

正常情况下我们会

代码语言:javascript
复制
Users.objects.latest('id')

但是我不能在latest中使用MongoEngine。

;)。我被困住了。

我在这里没有找到解决办法。但我已经实现了。你对下面的看法是什么?

代码语言:javascript
复制
Users.objects.all().order_by('-id').limit(1)[0] 

这将返回最新的实例。

并通过将其提交给蒙古国来解决这个问题。

https://github.com/anishmenon/mongoengine/

您可以安装这个并使用

代码语言:javascript
复制
 Users.objects.latest('id')
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-02 10:32:09

你可以这样做:

代码语言:javascript
复制
Users.objects.order_by('-id').first()
票数 23
EN

Stack Overflow用户

发布于 2018-10-16 09:23:54

罗斯的回答已经足够了。

但是,如果您确实需要一个latest(),那么实现一个自定义QuerySet就可以做到这一点。

“装饰”方式:

代码语言:javascript
复制
class Users(Document):
    username = StringField()

    @queryset_manager
    def latest(doc_cls, queryset):
        return queryset.order_by('-id').first()

“元”方式:

代码语言:javascript
复制
class UsersQuerySet(QuerySet):

    def latest(self):
        return self.order_by('-id').first()

class Users(Document):
    meta = {'queryset_class': UsersQuerySet}

现在你可以:

代码语言:javascript
复制
Users.objects.latest()
# or
Users.latest()
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22531136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档