- Django 3.0入门与实践
- 李健编著
- 245字
- 2021-03-27 00:17:42
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=1739049411-uWceoHEYujVtU2I3eE8CvSi2emnooiTr-0-5ebae4dc4c56efe1a82f7ed1d214b230)
执行loaddata命令,如下图所示。
![](https://epubservercos.yuewen.com/B89DD0/19549641008916106/epubprivate/OEBPS/Images/Figure-P50_24694.jpg?sign=1739049411-IRLXULvqfYz9IVlM36CT22dyd28AqkHF-0-93527d303fd7ba3cd6bdfedfbc0e5315)
执行结果如下图所示。
![](https://epubservercos.yuewen.com/B89DD0/19549641008916106/epubprivate/OEBPS/Images/Figure-P50_24697.jpg?sign=1739049411-G94eyoSWCL3U29zPzTP5EyKVr1WbNj4b-0-7e547829b2686be9cbf8536bca82ca1f)
注意
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。