gpt4 book ai didi

python - MongoEngine 看不到预先存在的记录

转载 作者:行者123 更新时间:2023-11-28 18:53:03 25 4
gpt4 key购买 nike

我在 MongoEngine 中设置了我的模型,并尝试查询它(我的集合中已经有几十个文档),但是查询集是空的:

>>> mymodel.objects
[]

我可以添加新文档,这些文档会出现在后续查询中,但有迹象表明我先前存在的文档:

>>> thingy = mymodel(a=2, b=3)
>>> thingy.save()
>>> mymodel.objects
[<mymodel: mymodel object>]

什么给了?作为引用,这是我的模型定义:

from django.conf import settings
from mongoengine import *

connect(settings.MONGO_DATABASE,
host=settings.MONGO_HOST, port=settings.MONGO_PORT)

class metadata(Document):

meta = {'collection': 'metadata'}

_id = StringField()
name = StringField()
_type = StringField()
terms = ListField()
level = StringField()
abbreviation = StringField()
latest_update = DateTimeField()
feature_flags = ListField()
session_details = DictField()
legislature_name = StringField()
lower_chamber_name = StringField()
upper_chamber_term = IntField()
upper_chamber_name = StringField()
lower_chamber_term = IntField()
lower_chamber_title = StringField()
upper_chamber_title = StringField()
_ignored_scraped_sessions = ListField()

如果这个问题得到 MongoEngine 的作者本人的回答,我想提前表示你太棒了!

最佳答案

没关系,文档回答了我的问题:

要将 MongoEngine 与现有数据一起使用,您必须在模型定义中设置 allow_inheritance = False,因为 MongoEngine 的继承工具会在您的文档(_cls 和 _types)上设置其他属性,然后(显然)使用它们来过滤 MongoEngine 查询。另一种选择可能是将这些属性添加到现有文档中。

http://docs.mongoengine.org/guide/defining-documents.html

关于python - MongoEngine 看不到预先存在的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9135434/

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