Создайте объект модели, используя json, где все ключи не являются полями модели - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть модель, как показано ниже:

class Person(models.Model):
    name = model.CharField(max_length = 255)
    mobile = model.IntegerField(null = True)
    city = model.CharField(max_length = 255)

Теперь мне нужно создать объект модели, используя json, как показано ниже:

data = { "name" : "John", 
        "age" : 31, 
        "city" : "New York", 
        "mobile" : 1234432156,
        "address" : "xyz" }

В приведенном выше json, name, mobile, city - поля в модели Person. Я должен создать модельный объект, используя вышеуказанный JSON. Я сделал так:

Person.objects.create(**data)

Но выдает ошибку: 1014 *. Насколько я понимаю, это ошибка, поскольку в модели нет поля возраста.

Как создать экземпляр модели с таким json, где все ключи не являются полями в модели.

1 Ответ

0 голосов
/ 12 ноября 2018

Если вы не знаете, что ваши данные имеют ту же "форму" (т. Е. Имеют те же поля), что и ваша модель, вам лучше написать это явно:

Person.objects.create(name=data['name'], mobile=data['mobile'], city=data['city'])

(Этоодин из тех явных лучше, чем неявных моментов.)

...