Django:加载数据困难

0 投票
1 回答
3694 浏览
提问于 2025-04-15 22:13

我正在尝试加载一些数据到这些模型中:

class School(models.Model):
    name = models.CharField(max_length=200)

    def __unicode__(self):
        return self.name

class RequirementSet(models.Model):
    offeringSchool = models.ForeignKey(School)
    name = models.CharField(max_length=200)

    def __unicode__(self):
        return "%s at %s" % (self.name, self.offeringSchool)

这是我想用来初始化它们的JSON数据:

// data.json

[
    {
        "pk": "1",
        "model": "myapp.School",
        "fields":
        {
            "name": "Princeton"
        }
    },
    {
        "pk": "1",
        "model": "myapp.RequirementSet",
        "fields":
        {
            "name": "Computer Science",
            "offeringSchool": 1
        }
    }
]

我运行了 python manage.py loaddata data.json,结果出现了这个错误:

...
Checking absolute path for fixtures...
Trying absolute path for data.json fixture 'data'...
Installing json fixture 'data' from absolute path.
Problem installing fixture 'data.json': Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\django\core\management\commands\loaddata.p
y", line 150, in handle
    for obj in objects:
  File "C:\Python26\lib\site-packages\django\core\serializers\json.py", line 41,
 in Deserializer
    for obj in PythonDeserializer(simplejson.load(stream)):
  File "C:\Python26\lib\json\__init__.py", line 267, in load
    parse_constant=parse_constant, **kw)
  File "C:\Python26\lib\json\__init__.py", line 307, in loads
    return _default_decoder.decode(s)
  File "C:\Python26\lib\json\decoder.py", line 319, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Python26\lib\json\decoder.py", line 338, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

我哪里做错了?

通过命令行和管理界面与这些模型互动是没问题的。

1 个回答

3

JSON格式是不允许有注释的。把// data.json这一行去掉,应该就能正常工作了。

撰写回答