我有一个Document和一个嵌入的文档,我想在嵌入文档的ListField中插入一个值。我在stackoverflow上找不到关于这个问题的任何东西,所以也许有人可以帮助我。
这基本上是我的模型类。
class Person(EmbeddedDocument):
oid = ObjectIdField(required=True, default=ObjectId,
unique=True, primary_key=True, sparse=True)
personName = StringField()
charakterEntries= ListField()
class schoolClass(Document):
className= StringField(unique=true)
persons = ListField(EmbeddedDocumentField(Personn))
所以我想进入一个特定的类的特定的人 并插入一个新的charakter条目到listField charakterEntries。
假设我有一个 className "chemistry"
并想插入新的 charakter entry "polite"
至 ListField "charakterEntries"
的人 oid="abc123"
.
我以为我可以做这样的事情。
person= Person.objects(oid=id).get()
person.charakterEntries.append("polite")
person.save()
但是我得到了以下的错误。AttributeError: type object 'Person' has no attribute 'objects'
有人知道如何解决这个问题吗?我在stackoverflow上试了很多东西,但都不能使它工作。所以请不要马上关闭这个问题。
谢谢你:-)
所以我终于找到了一个解决方案。
schoolClass.objects.filter(persons__oid="abc123").update_one(
push__persons__S__charakterEntries="polite")
这样就可以把新的charakter条目礼貌地放在ListField的最后。