如何在创建Django模型时填充表格?
我有一个城市的列表(简单的CSV文件),我想在创建城市模型的时候,把这些城市填充到城市表里。
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函数,把CSV文件转换成JSON(同样是在模型创建的时候),而且我应该这样做吗??
有没有人能帮我一下?
2 个回答
2
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文件。