如何在graphene mongo python中更新嵌入文档的字段

如何在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 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()

    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()