如果我有以下架构:
class Post(EmbeddedDocument):
title = StringField(max_length=120, required=True)
meta = {'allow_inheritance': True}
class TextPost(Post):
content = StringField()
class MoviePost(Post):
author = ReferenceField(Authors)
class Record(Document):
posts = ListField(EmbeddedDocumentField(Post))
我执行以下查询:
author = Author.objects.get_or_404(id = id)
records = Record.objects(posts__author = author)
records.count()
我收到以下错误:
AttributeError: 'author' object has no attribute 'get'
当某些对象可能有也可能没有“作者”字段时,这似乎只发生在 allow_inheritance 中。如果所有对象上都存在该字段,例如“标题”字段,则查询工作正常。