当前位置:  开发笔记 > 编程语言 > 正文

在Django loaddata中,它会抛出json格式的错误但是对于yaml格式正常工作,为什么呢?

如何解决《在Djangoloaddata中,它会抛出json格式的错误但是对于yaml格式正常工作,为什么呢?》经验,为你挑选了0个好方法。

为了学习如何在数据库中导入初始数据我创建了模型,

from django.db import models

class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

之后,我使用.json格式的灯具,如下所示,

[
    {
        "model": "myapp.person",
        "pk": 1,
        "fields": {
            "first_name": "John",
            "last_name": "Lennon"
        }
    },
    {
        "model": "myapp.person",
        "pk": 2,
        "fields": {
            "first_name": "Paul",
            "last_name": "McCartney"
        }
    }
]

它会在loaddata上抛出错误

File "C:\Python27\lib\site-packages\django\core\serializers\python.py", line 96, in Deserializer

Model = _get_model(d["model"])

django.core.serializers.base.DeserializationError: Problem installing fixture 'I:\DJANGO\library\myapp\fixtures
\bookdata.json': string indices must be integers

但是当我使用YAML格式的夹具时,如下所示,

- model: myapp.person
  pk: 1
  fields:
    first_name: John
    last_name: Lennon
- model: myapp.person
  pk: 2
  fields:
    first_name: Paul
    last_name: McCartney

它就像一个魅力.

现在我很困惑,因为整件事只是从他们的文件中复制出来.我使用的是Windows 32bit,Django 1.9,python 2.7.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有