我有一个城市列表(简单的 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(同样,在模型本身中,同时它正在构建),我应该这样做吗???
有人可以帮我解决这个问题吗?
请您参考如下方法:
我们通常会做这样的事情。
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 fixture。
