我有这样的代码声明:

def add_names(req, names, firstnames, middlenames, lastnames, genders, e_mails, phone_numbers, locations, indata):
        data = []
        for a in range(len(names)):

                nxt = {"name": names[a], "profile_id": indata["profile_id"], "firstname": firstnames[a], "middlename": middlenames[a], "lastname": lastnames[a],
                       "e_mail": e_mails[a], "phone_number": phone_numbers[a], "location": locations[a], "sex": genders[a],
                       "user_id": indata["user_id"], "updated_by": indata["username"]}

                cpnxt = nxt
                del cpnxt['profile_id'], cpnxt['user_id'], cpnxt['updated_by']
                nxt.update({"jsondata": cpnxt})
                data.append(nxt)

        qs = "insert into persons (id, name, user_id, profile_id, firstname, middlename, lastname, e_mail, phone_number, location, sex, updated_by) values "
        qs += "(DEFAULT, %(name)s, %(user_id)s, %(profile_id)s, %(firstname)s, %(middlename)s, %(lastname)s, %(e_mail)s, %(phone_number)s, %(location)s, %(sex)s,"
        qs += " %(updated_by)s) returning id"
        res = db_add_list(req, qs, data)
        return res


在这里,基本上,我将列表值作为参数,然后将列表值放入称为nxt{}的json字典中,并通过"qs"函数使用查询db_add_list()将它们添加到数据库中。

现在,我想做的是;我想将json字典添加到nxt{}字典中。我的字典将是nxt{}字典的子集,其中仅涉及nxt{}的某些值。

我想用这段代码来做到这一点,但是我得到了一个奇怪的输出:

nxt = {'e_mail': '', 'firstname': 'John', 'jsondata': {'e_mail': '', 'firstname': 'John', 'jsondata': {'e_mail': '', 'firstname': 'John', 'jsondata': {'e_mail': '', 'firstname': 'John', 'jsondata': {'e_mail': '', 'firstname': 'John', 'jsondata': {'e_mail': '', 'firstname': 'John', 'jsondata': {...}, 'lastname': 'Smith', 'location': '', 'middlename': '', 'name': 'John Smith', 'phone_number': '', 'sex': 'M'}, 'lastname': 'Smith', 'location': '', 'middlename': '', 'name': 'John Smith', 'phone_number': '', 'sex': 'M'}, 'lastname': 'Smith', 'location': '', 'middlename': '', 'name': 'John Smith', 'phone_number': '', 'sex': 'M'}, 'lastname': 'Smith', 'location': '', 'middlename': '', 'name': 'John Smith', 'phone_number': '', 'sex': 'M'}, 'lastname': 'Smith', 'location': '', 'middlename': '', 'name': 'John Smith', 'phone_number': '', 'sex': 'M'}, 'lastname': 'Smith', 'location': '', 'middlename': '', 'name': 'John Smith', 'phone_number': '', 'sex': 'M'}


我该如何做呢?

最佳答案

只需更新您的nxt词典并向其中添加新的子集词典。

nxt.update({"new_dic": my_new_dic})

10-07 19:05
查看更多