![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=1739043109-wabZhCgnhwJHNZrI553AH26yeIA18dBJ-0-e5a011a5a6f3e7091ab22f98f9d554a0)
执行loaddata命令,如下图所示。
![](https://epubservercos.yuewen.com/B89DD0/19549641008916106/epubprivate/OEBPS/Images/Figure-P50_24694.jpg?sign=1739043109-blAD0PFUPU1S2pJv5aYmx6HUIWcoxqhS-0-9ad2bafd0826621b370b1be6d8f44fd6)
执行结果如下图所示。
![](https://epubservercos.yuewen.com/B89DD0/19549641008916106/epubprivate/OEBPS/Images/Figure-P50_24697.jpg?sign=1739043109-Gp0Frx5lbfqrzo5g8DAtNjQvmh6f99o3-0-e48e784586ef5f6e4d69c46fece82b80)
注意
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。