Django:使用JSON数据创建和保存模型

Vin*_*oft 8 django json django-models

我使用Django 1.10作为后端和Angular 2 4.0作为前端构建应用程序.

是否可以从JSON数据对象创建和保存模型实例?

示例:此型号:

class PartOne(models.Model):
  gender = models.SmallIntegerField(choices=[(1, "Male"), (2, "Female")])
  gender_na = models.BooleanField(default=False)
  height = models.SmallIntegerField()
  height_na = models.BooleanField(default=False)
Run Code Online (Sandbox Code Playgroud)

JSON:

json = {
'gender': 1,
'gender_na':False,
'height':195,
'height_na':False
}
Run Code Online (Sandbox Code Playgroud)

希望手动创建模型:

PartOne.objects.create(gender=json['gender'], gender_na=json['gender_na'], height=json['height'], height_na=json['height_na]

我正在寻找一个自动化解决方案,如下所示:

PartOne.objects.create_from_json(json)

zai*_*zil 10

你可以这样做,

PartOne.objects.create(**json)
Run Code Online (Sandbox Code Playgroud)

通过构造关键字参数字典并将其传递给函数,可以在调用函数时使用**kwargs语法.

这在python教程的4.7.4节中有记录.,在解包参数列表下.

另请注意,相同的dict不会传递给函数.创建了一个新副本,因此"json"不是kwargs.

  • 有没有一种方法可以实现相同的目的,但给出一个 json 对象列表而不是单个对象? (2认同)