使用 json 创建模型对象,其中所有键都不是模型的字段

我有一个模型如下:


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)

但它抛出一个错误说'age' is invalid keyword argument for this function。我的理解是,由于模型中没有年龄字段,因此会引发错误。


如何使用这样的 json 创建模型实例,其中所有键都不是模型中的字段。


Smart猫小萌
浏览 148回答 1
1回答

慕森卡

除非您知道您的数据与您的模型具有相同的“形状”(即具有相同的字段),否则最好将其明确地写出来:Person.objects.create(name=data['name'], mobile=data['mobile'], city=data['city'])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python