Джанго светильники.JSONDecodeError - PullRequest
2 голосов
/ 04 января 2012

У меня есть проект Django, и я хочу добавить тестовые данные в базу данных. Когда я делаю syncdb, как это

python ~/django/foo/manage.py syncdb

После установки таблиц появляется ошибка

Problem installing fixture '~/django/foo/shop/fixtures/initial_data.json': 
Traceback (most recent call last):
raise JSONDecodeError("No JSON object could be decoded", s, idx)
JSONDecodeError: No JSON object could be decoded: line 1 column 0 (char 0)

Моя модель здесь:

# -*- coding: utf-8 -*-
from django.db import models

class Image(models.Model):
    file = models.ImageField(upload_to = "img/")
    title = models.CharField(
        max_length=128, 
        blank = True
    )
    slug = models.SlugField(max_length=128, blank = True)
    def __unicode__(self):
        return unicode(self.title)

Мой прибор таков:

[
    {
        "pk": 2, 
        "model": "shop.image", 
        "fields": {
            "slug": "", 
            "file": "img/8_m.jpg", 
            "title": "1"
        }
    }
]

Где проблема?

1 Ответ

8 голосов
/ 04 января 2012

Дикая догадка ... может быть, ваш файл фикстур сохранен как файл юникода ??? Попробуйте открыть его в простейшем текстовом редакторе, который вы можете, или запустите

hexdump ~/django/foo/shop/fixtures/initial_data.json

и убедитесь, что первый символ в дампе - 5b, а не fe или что-то в этом роде.

...