【问题标题】:Django fixtures. JSONDecodeErrorDjango 固定装置。 JSON解码错误
【发布时间】:2012-02-02 16:54:43
【问题描述】:

我有一个 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"
        }
    }
]

问题出在哪里?

【问题讨论】:

    标签: django django-admin django-fixtures


    【解决方案1】:

    猜测...也许您的夹具文件保存为 unicode 文件?尝试在最简单的文本编辑器中打开它,或者运行

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

    并确保转储中的第一个字符是 5b 而不是 fe 或其他东西。

    【讨论】:

    • 我遇到了同样的错误,这似乎是问题所在。现在我能做些什么呢?提前感谢您的帮助。
    • 一种简单的方法是cat > ascii_fixture.json 然后复制/粘贴文件的内容,然后按Ctrl-D 完成它。对于大文件或 Windows 谷歌“将 unicode 文本文件转换为 ascii”。
    猜你喜欢
    • 1970-01-01
    • 2011-04-29
    • 2013-09-02
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多