JSON使用Django为类建模

发布于 2021-01-29 16:05:18

我正在尝试获取一个JSON对象,例如:

{
    "username": "clelio",
    "name": "Clelio de Paula",
}

并将其转换为:

  class User(models.Model):

     name = models.CharField(max_length=30)
     username = models.CharField(max_length=20)

     def jsonToClass(s):

       aux = json.dumps(s, self)

       self.name = aux['name']
       self.id = aux['id']

因此,我尝试使用simplejson和方法之一jsonToClass()

  >>> import simplejson as json
  >>> u1 = User()
  >>> u1.jsonToClass(face)
  >>> u1.save()

这行不通。做我想做的最简单的方法是什么?

关注者
0
被浏览
35
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可能想看一下Django的(反)序列化框架。给定JSON,例如:

    [
      {
        "model": "myapp.user",
        "pk": "89900",
        "fields": {
          "name": "Clelio de Paula"
        }
      }
    ]
    

    您可以这样保存它:

    from django.core import serializers
    for deserialized_object in serializers.deserialize("json", data):
        deserialized_object.save()
    

    请注意,我相信您必须使用Django序列化格式才能使用此方法,因此您可能必须相应地调整JSON。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看