Как заполнить таблицу при создании модели Django? - PullRequest
1 голос
/ 03 мая 2011

У меня есть список городов (простой файл cvs), и я хочу заполнить таблицу citeis при создании модели City.Описание класса:

class City(models.Model):
    city = modeld.CharField('city_name', max_length=50)

    class Meta:
        berbuse_name =....
        ...........

    def __unicode__(self):
        return self.city

Теперь, что я ищу, это как сделать это только один раз при создании модели (таблица БД).

Я пытаюсь сделать это поверхздесь, потому что это звучит очень логично для меня (например, создание сценария sql в MS-sql и других)функция python, которая берет файл cvs и преобразует его в json (опять же, в самой модели, пока она строится) и должна ли я вообще это делать ???

Может ли кто-нибудь помочь мне, пожалуйстас этим?

Ответы [ 2 ]

5 голосов
/ 03 мая 2011

Обычно мы делаем что-то подобное.

import csv
from my_django_app.forms import CityForm
with open( "my file", "rb" ) as source:
    rdr = csv.DictReader( source )
    for row in rdr:
        form= CityForm( **row )
        if form.is_valid(): 
            form.save()
        else:
            print form.errors

Это проверяет и загружает данные.

После загрузки данных вы можете использовать django-admin dumpdata для сохранения прибора JSON.от загруженной модели.

2 голосов
/ 03 мая 2011
...