如何在graphene mongo python中更新嵌入文档的字段
我试图更新IgThread EmbeddedDocument的一个字段,出现错误:如何在graphene mongo python中更新嵌入文档的字段,python,mongodb,graphene-python,Python,Mongodb,Graphene Python,我试图更新IgThread EmbeddedDocument的一个字段,出现错误: “IgThread”对象没有属性“save” 我尝试过一些奇怪的解决方案,但没有一个奏效。 当前代码中存在错误 突变: def mutate(self, _, **kwargs): ig_pk = kwargs['ig_pk'] thread_input = kwargs['ig_thread'] lead_ = Lead.objects(ig__pk=ig_pk).first()
“IgThread”对象没有属性“save”
我尝试过一些奇怪的解决方案,但没有一个奏效。
当前代码中存在错误
突变:
def mutate(self, _, **kwargs):
ig_pk = kwargs['ig_pk']
thread_input = kwargs['ig_thread']
lead_ = Lead.objects(ig__pk=ig_pk).first()
for thread in lead_.messages.ig:
Lead.objects(
ig__pk=ig_pk,
messages__ig__thread_id=thread_input.thread_id,
).update(
push_all__messages__ig__S__messages=new_messages,
)
thread.last_activity_at = thread_input.last_activity_at
thread.save()
家长:
class Lead(Document):
id = fields.ObjectIdField()
messages = fields.EmbeddedDocumentField(Messages)
嵌套嵌入文档:
class Messages(EmbeddedDocument):
ig = fields.EmbeddedDocumentListField(IgThread)
更深层次:
class IgThread(EmbeddedDocument):
thread_id = fields.StringField()
last_activity_at = fields.StringField()
我想在更新上一个活动
请帮忙,我必须修复这个错误,办公室里没有人能帮我:解决了!这很容易
def mutate(self, _, **kwargs):
ig_pk = kwargs['ig_pk']
thread_input = kwargs['ig_thread']
lead_ = Lead.objects(ig__pk=ig_pk).first()
for thread in lead_.messages.ig:
Lead.objects(
ig__pk=ig_pk,
messages__ig__thread_id=thread_input.thread_id,
).update(
push_all__messages__ig__S__messages=new_messages,
)
lead_ = Lead.objects(ig__pk=ig_pk).first() <--------
thread.last_activity_at = thread_input.last_activity_at
lead_.save() <--------
def变异(自身,u,**kwargs):
ig_pk=kwargs['ig_pk']
线程输入=kwargs['ig\U线程']
lead=lead.objects(ig\uu pk=ig\u pk).first()
对于lead_u.messages.ig中的线程:
铅.物体(
免疫球蛋白激酶=免疫球蛋白激酶,
messages\uuuuu ig\uuuuuu thread\u id=thread\u input.thread\u id,
).更新(
推送所有消息消息消息消息消息=新消息,
)
lead=lead.objects(ig_uuupk=ig_upk).first()已解决!这很容易
def mutate(self, _, **kwargs):
ig_pk = kwargs['ig_pk']
thread_input = kwargs['ig_thread']
lead_ = Lead.objects(ig__pk=ig_pk).first()
for thread in lead_.messages.ig:
Lead.objects(
ig__pk=ig_pk,
messages__ig__thread_id=thread_input.thread_id,
).update(
push_all__messages__ig__S__messages=new_messages,
)
lead_ = Lead.objects(ig__pk=ig_pk).first() <--------
thread.last_activity_at = thread_input.last_activity_at
lead_.save() <--------
def变异(自身,u,**kwargs):
ig_pk=kwargs['ig_pk']
线程输入=kwargs['ig\U线程']
lead=lead.objects(ig\uu pk=ig\u pk).first()
对于lead_u.messages.ig中的线程:
铅.物体(
免疫球蛋白激酶=免疫球蛋白激酶,
messages\uuuuu ig\uuuuuu thread\u id=thread\u input.thread\u id,
).更新(
推送所有消息消息消息消息消息=新消息,
)
lead=lead.objects(ig\uu pk=ig\u pk).first()