gpt4 book ai didi

django - 在 MongoEngine 中是否可以识别 GenericReferenceField 引用的对象/文档?

转载 作者:可可西里 更新时间:2023-11-01 10:43:55 28 4
gpt4 key购买 nike

我想知道这是否可能。假设我想查看集合中的所有文档,但想过滤掉那些将某个对象设置为 GenericReferenceField() 的文档

最佳答案

寻找对象“类型”是 Mongoengine 如何序列化文档的问题。因此,您始终可以使用原始 查询进行检查。请考虑以下事项:

> use project1
switched to db project1
> db.page.findOne()
{
"_id" : ObjectId("52e862b11d41c80802167cc4"),
"title" : "Using MongoEngine",
"bookmark_object" : {
"_cls" : "Link",
"_ref" : DBRef("link", ObjectId("52e862b11d41c80802167cc3"))
},
"date_modified" : ISODate("2014-01-29T13:08:49.315Z")
}

类(class)就在外地_cls

from mongoengine import *
import datetime

connect('project1')

class Page(Document):
title = StringField(max_length=200, required=True)
bookmark_object = GenericReferenceField()
date_modified = DateTimeField(default=datetime.datetime.now)

class Link(Document):
url = StringField()

#link = Link(url='http://mongodb.com/')
#link.save()

#page = Page(title='Using MongoEngine', bookmark_object=link)
#page.save()

pages = Page.objects(__raw__={ 'bookmark_object._cls': 'Link' })

for item in pages:
print item.bookmark_object

关于django - 在 MongoEngine 中是否可以识别 GenericReferenceField 引用的对象/文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21419561/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com