Сгенерировать файл XML из данных модели

Мне нужно записать данные модели (только CharField s) в файл XML, чтобы содержать данные для файла flash. Я новичок в этом, и мне немного непонятен процесс выполнения этого в django. Я создаю файл xml, а затем записываю текстовые данные в файл (как это делается с модулем csv, но в xml). Для чтения флэш-файла должен получиться очень упрощенный xml-файл, например:

<?xml version="1.0" encoding="UTF-8"?>
<textFields>
     <textField id="0" text="HELLO WORLD" />
     <textField id="1" text="HELLO EARTH" />
     ...
</textFields>

1. Я использую сериализатор для записи XML-данных из модели:

from django.core import serializers
data = serializers.serialize('xml', myModel.objects.filter(instanceIwantTowrite), fields=('fieldName'))

2. Затем я создаю файл, используя core.files :

from django.core.files import File    
f = open('/path/to/new/dir/content.xml', 'w')
myfile = File(f)

3. Записать данные файла и закрыть:

myfile.write(data)

myfile.close()

Пока это работает, хотя вывод xml содержит поля для объекта «django-objects» и т. Д., И мне нужно будет посмотреть, смогу ли я легко интерпретировать это в ActionScript для файла flash. Я бы предпочел определять имена полей xml вручную, как в модуле csv. Поскольку я новичок в django и python, мне интересно, есть ли более простой и простой способ сделать это?

Примечание: В сериализаторе я использую фильтр для объектов модели, потому что использование get для экземпляра модели возвращает ошибку не повторяемый объект . На самом деле я дважды фильтрую его, чтобы получить единственный экземпляр, похоже, должен быть лучший способ.

12
задан juliomalegria 16 January 2012 в 19:42
поделиться