![Django 3.0入门与实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/246/36862246/b_36862246.jpg)
上QQ阅读APP看书,第一时间看更新
4.11 loaddata
作用:加载数据到数据库。
语法:django-admin loaddata fixture [fixture ...]
示例:创建fixture文件question.json,将该文件放在manage.py同级目录,文件内容如下。
![](https://epubservercos.yuewen.com/B89DD0/19549641008916106/epubprivate/OEBPS/Images/Figure-P50_149329.jpg?sign=1739417011-em4O3qXAQbkfn8n1BCYpBR5XxuM8dR29-0-ba988dc78f197c0986c1c6b3fac06b31)
执行loaddata命令,如下图所示。
![](https://epubservercos.yuewen.com/B89DD0/19549641008916106/epubprivate/OEBPS/Images/Figure-P50_24694.jpg?sign=1739417011-XwUzIugp46YEUKoW7t2sAhKUTCZrB1dY-0-74aa8e84672e866626eefe0312604f7b)
执行结果如下图所示。
![](https://epubservercos.yuewen.com/B89DD0/19549641008916106/epubprivate/OEBPS/Images/Figure-P50_24697.jpg?sign=1739417011-RqR4AiWH93jlkfMO9zvpqZWsbY6XzH76-0-c00cd3cbd7a1bec78906d588807462d4)
注意
fixture是序列化好的数据文件,文件格式包含json和xml。Django只能从以下3类位置查找fixture:
应用程序下的fixtures文件夹。
配置文件中FIXTURE_DIRS指定的路径。
fixture文件路径。
Loaddata命令可以在压缩文件中查找fixture,Loaddata支持zip、gz和bz2等压缩格式,例如执行以下命令:
django-admin loaddata mydata.json
该命令将会同时查找mydata.json、mydata.json.zip、mydata.json.gz或者mydata.json.bz2,直到找到第一个mydata.json文件。
需要注意的是,不能将相同名字不同类型的fixture文件放在同一路径下,如mydata.json和mydata.xml。