美文网首页程序员技术栈Django 一问一答python热爱者
Django - 如何预先往数据库中插入数据

Django - 如何预先往数据库中插入数据

作者: fall4u | 来源:发表于2017-12-31 18:22 被阅读20次
    问题提出

    在Web后台中,对数据的增删改查是基础的功能要求。在开发的时候, 往往第一个实现的功能便是查询功能。 那么在开始的时候, 数据库中开始并没有数据, 就需要在数据库中插入测试数据。

    官方文档

    官方文档的有关数据预导入的传送门在这里官方文档

    遇到的问题
    Expecting property name enclosed in double quotes: line 13 column 9 (char 280)

    在使用loaddata命令的时候,系统报了上述错误。Json文件的定义入下:

    [
        {
            "pk": 1,
            "model": "sku.Book",
            "fields": {
               "name":"好饿的毛毛虫",
               "author":"艾瑞.卡尔",
               "isbn": 9787533256739,
               "status":"busy",
               "press": "明天出版社",
               "acount":3,
               "lendCount": 1
            }
        },
    ]
    

    经过搜索,得知出现此种情况的原因是以为Json文件的格式不正确。 那么我们可以使用线上的一些Json格式工具来检查一下自己写的Json文件。 比如笔者使用了线上工具jsonlint来检查, 比较容易就检查得到,最后一个逗号不应该添加。

    [{
        "pk": 1,
        "model": "sku.Book",
        "fields": {
            "name": "好饿的毛毛虫",
            "author": "艾瑞.卡尔",
            "isbn": 9787533256739,
            "status": "busy",
            "press": "明天出版社",
            "acount": 3,
            "lendCount": 1
        }
    }]
    
    Could not load sku.Book(pk=1): no such table: sku_book

    这个问题看起来是系统里面还没有出现sku.Book的表,那么因为之前修改过models.py,只需要执行以下两个操作,便可以解决该问题。

    python manage.py makemigrations
    python manage.py migrate
    

    相关文章

      网友评论

        本文标题:Django - 如何预先往数据库中插入数据

        本文链接:https://www.haomeiwen.com/subject/xceagxtx.html