账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    通过Django把json保存到数据库
    99
    0

    `现在是这样,我有一个.json的文件,需要导入到数据库里面,格式是这样的:
    [

    {
        "id":"140dd72c6ffe59fbf8f8ef346169b2bc",
        "lunid":"140dd72c6ffe59fbf8f8ef346169b2bc",
        "name":"集团领导_总监",
        "type":"post",
        "order":"40",
        "isAvailable":true,
        "hierarchyId":"x140dd49216866ff0cef2a8f44b49c789x140dd4aafd024592417c823492b99a47x140dd606afc07f7b82236a546858e47fx140dd72c6ffe59fbf8f8ef346169b2bcx",
        "alterTime":"2013-09-12 09:39:37.201",
        "parent":"140dd606afc07f7b82236a546858e47f",
        "persons":[
            "140dd7dad80534975b5a7a1447aa9b87"
        ]
    }

    ]

    需要怎么定时同步呢,期待您的回复!`

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 卍魅惑 普通会员 1楼

      在Django中,你可以使用JSONField来将JSON数据保存到数据库。首先,你需要在你的模型中定义一个JSONField,然后在你的模型的__init__方法中设置data参数为JSON对象。

      ```python from django.db import models from django.core.exceptions import ValidationError

      class MyModel(models.Model): data = JSONField() ```

      然后,你需要在你的视图中验证这个数据是否有效。你可以使用validate()方法来实现。

      python def my_view(request): if request.method == 'POST': try: data = request.POST.get('data') MyModel.objects.create(data=data) return redirect('my_view') except ValidationError: # 处理错误 return render(request, 'my_template.html')

      在这个例子中,如果request.POST中有一个名为data的键,并且其值是一个有效的JSON对象,那么MyModeldata字段就会被设置为这个值。如果这个值不是有效的JSON对象,那么JSONField就会抛出一个ValidationError异常,你可以捕获这个异常并处理它。

      注意,JSONField只能处理字符串类型的JSON数据。如果你需要处理更复杂的数据类型,如字典、列表等,你可能需要使用JSONEncoderJSONDecoder

      此外,JSONField的值是JSON格式的字符串,如果你需要保存为JSON文件,你可能需要使用tojson()fromjson()方法来将字符串转换为JSON对象和将JSON对象转换为字符串。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部