我需要在Chat
的集合中找到一个不包含deal
字段的文档。根据文档exists
检查该字段是否存在,并且first
用于检索第一个结果,但检索下一行
Chat.objects.first(deal__exists=False)
提高TypeError: first() got an unexpected keyword argument 'deal__exists'
这就是Chat
方案
class Chat(Document):
id = IntField(primary_key=True)
name = StringField(default=CHANNEL_NAME)
invite_link = StringField(default=None)
deal = ReferenceField("Deal", default=None)
以及集合中唯一文档的当前状态:
{
"_id" : XXXXXXXXX,
"name" : "XXXXX",
"invite_link" : "https://t.me/joinchat/XXXXXXXXXXXXXXXXXXXXXX"
}
none
的值deal
给出相同的结果
答案 0 :(得分:2)
您可以尝试:
Chat.objects.get(deal__exists=False)
或
Chat.objects(deal__exists=False)[0]
找到第一个结果。
答案 1 :(得分:0)
花点时间。
首先,应将方法first
应用于Chat.objects(deal=None)
的结果。就像Chat.objects(deal=None).first()
。
由于它会引发with
,因此不应在AttributeError: __enter__
语句中使用它。 Here是有关该错误的更多详细信息