Чтобы научиться импортировать исходные данные в базу данных, я создал такие модели, как
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"
}
}
]
Выдает ошибку при загрузке данных
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.
.json
содержит как начальный, так и конечный тег для оболочки списка объектов:[
,]
- person kia   schedule 02.01.2016