Py学习  »  Django

Django Postgres反序列化错误:安装夹具时出现问题

Dominic M. • 4 年前 • 642 次点击  

我正在尝试将我的开发数据库设备导入到生产服务器中。已经进行了迁移,我尝试将数据库迁移缩减到只有两个类。这是我接收到的命令和错误:

误差

(env) root@django-01:/home/projects/server/mysite# python3 local.py loaddata db.json
Traceback (most recent call last):
  File "/home/projects/server/env/lib/python3.5/site-packages/django/core/serializers/json.py", line 68, in Deserializer
    objects = json.loads(stream_or_string)
  File "/usr/lib/python3.5/json/__init__.py", line 319, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.5/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.5/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 19 column 1 (char 229)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "local.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/projects/server/env/lib/python3.5/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "/home/projects/server/env/lib/python3.5/site-packages/django/core/management/__init__.py", line 365, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/projects/server/env/lib/python3.5/site-packages/django/core/management/base.py", line 288, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/projects/server/env/lib/python3.5/site-packages/django/core/management/base.py", line 335, in execute
    output = self.handle(*args, **options)
  File "/home/projects/server/env/lib/python3.5/site-packages/django/core/management/commands/loaddata.py", line 72, in handle
    self.loaddata(fixture_labels)
  File "/home/projects/server/env/lib/python3.5/site-packages/django/core/management/commands/loaddata.py", line 113, in loaddata
    self.load_label(fixture_label)
  File "/home/projects/server/env/lib/python3.5/site-packages/django/core/management/commands/loaddata.py", line 168, in load_label
    for obj in objects:
  File "/home/projects/server/env/lib/python3.5/site-packages/django/core/serializers/json.py", line 73, in Deserializer
    raise DeserializationError() from exc
django.core.serializers.base.DeserializationError: Problem installing fixture '/home/projects/server/mysite/db.json': 

数据库JSON

    [

{
    "model": "memberships.benefit",
    "pk": 1,
    "fields": {
        "name": "SSL Certificate"
    }
},
{
    "model": "memberships.benefit",
    "pk": 2,
    "fields": {
        "name": "No cancellation fee"
    }
},


]
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38239
 
642 次点击  
文章 [ 1 ]  |  最新文章 4 年前
c.grey
Reply   •   1 楼
c.grey    5 年前

您需要使用适当的JSON格式,删除最后一个( , )从你的JSON

[
  {
    "model": "memberships.benefit",
    "pk": 1,
    "fields": {
      "name": "SSL Certificate"
    }
  },
  {
    "model": "memberships.benefit",
    "pk": 2,
    "fields": {
      "name": "No cancellation fee"
    }
  }
]

参考 this

希望有帮助