2013-04-09 6 views
0

У меня возникли небольшие проблемы с импортом исходных данных через xml-файлы. Например, я назвал этот файл в MYAPP/светильникам/initial_data.xml:Исходные данные Django Fixtures Проблема: Установлено 0 объектов из 0 fixture (s)

<?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/Светильники/initial_data.xml, я получаю: Установил 0 объектов (ов) из 0 fixture (s). Я также попробовал JSON и получил тот же результат. Есть идеи?

+0

Как вы создали файл XML? Похоже, что формат не тот, что понимает джанго. С какой версией django вы пытаетесь? – Rohan

ответ

2

Вы должны отформатировать XML, поскольку Django ожидает его. Один из способов, чтобы пойти, чтобы вручную добавить и объект с помощью администратора 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>