我在通过xml文件导入初始数据时遇到了一些麻烦。例如,我在myapp / fixtures / initial_data.xml中命名此文件:
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<row>
<model>myapp.nutrition</model>
<name>Asiago Cheese Bagel</name>
<calories>370</calories>
<protein >17</protein >
<carbs>56</carbs>
<fats>8</fats>
<restaurant >Au Bon Pain</restaurant >
<price>1.29</price>
</row>
</rows>
这就是我的模型文件:
from django.db import models
class Nutrition(models.Model):
name= models.CharField(max_length=100)
calories= models.IntegerField()
protein= models.IntegerField()
carbs= models.IntegerField()
fats= models.IntegerField()
restaurant= models.CharField(max_length=100)
price= models.DecimalField(decimal_places=2, max_digits=10)
当我运行manage.py loaddata myapp / fixtures / initial_data.xml时,我得到:从0个夹具中安装了0个对象。我也试过JSON并得到了相同的结果。有什么想法吗?
答案 0 :(得分:2)
你应该像Django期望的那样格式化XML。一种方法是使用Django的管理员手动添加和对象,然后使用
转储数据manage.py dumpdata --format=xml --indent=4
对于你的情况,这给出了像
这样的东西<?xml version="1.0" encoding="utf-8"?>
<django-objects version="1.0">
<object pk="1" model="myapp.nutrition">
<field type="CharField" name="name">Asiago Cheese Bagel</field>
<field type="IntegerField" name="Calories">370</field>
...
</object>
</django-objects>