如何在创建Django模型时填充表格?

时间:2011-05-03 15:09:07

标签: python django django-models

我有一个城市列表(简单的cvs文件),我想在创建城市模型时填充citeis表。 课程描述:

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

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

    def __unicode__(self):
        return self.city

现在,我正在寻找的是在创建模型(数据库表)时如何只执行一次。

我试图在这里做,因为这对我来说听起来很逻辑(比如在MS-sql等中构建一个sql脚本)

编辑:好吧,我想我问的是错误的......也许这个:我如何创建一个python函数来获取cvs文件并将其转换为json(同样,在模型本身,同时它正在建设中)我应该这样做吗?

任何人都可以帮我这个吗?

2 个答案:

答案 0 :(得分:5)

我们通常会这样做。

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夹具。

答案 1 :(得分:2)