2013-04-09 5 views
0

XML 데이터를 통해 초기 데이터를 가져 오는 데 약간의 문제가 있습니다. 예를 들어 나는 MyApp를/설비/initial_data.xml이 파일 이름 :초기 데이터 Django Fixtures 문제 : 0 개체에서 0 개체 설치

<?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 개의 객체를 설치했다. 나는 또한 JSON을 시도했고 같은 결과를 얻었다. 어떤 아이디어?

+0

같은 것을 제공, 수동으로 추가하고 장고의 관리자를 사용하여 객체를 다음의 경우를 들어

manage.py dumpdata --format=xml --indent=4 

를 사용하여 데이터를 덤프하는 것입니다? django가 이해하는 형식이 아닌 것처럼 보입니다. 어떤 장고 버전을 사용하고 계십니까? – Rohan

답변

2

Django가 예상하는대로 XML을 포맷해야합니다. 이동하는 방법 중 하나는이 XML 파일을 생성 않았다 어떻게

<?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>