使用模型形式';是否验证数据导入到django?
我有一个django应用程序,我需要将现有数据从文本文件导入新数据库。 通常我会这样做:使用模型形式';是否验证数据导入到django?,django,Django,我有一个django应用程序,我需要将现有数据从文本文件导入新数据库。 通常我会这样做: for i in lines(): a = Mymodel() a.field1 = i[0] a.field2 = i[0] a.save() 这很好,但不会进行数据验证(字段的匹配数据类型除外) 为了通过webinterface输入数据,我编写了一些ModelForm表单,这些表单为我执行所有数据验证(在clean()方法中)。我知道如何使用request.POST作为
for i in lines():
a = Mymodel()
a.field1 = i[0]
a.field2 = i[0]
a.save()
这很好,但不会进行数据验证(字段的匹配数据类型除外)
为了通过webinterface输入数据,我编写了一些ModelForm
表单,这些表单为我执行所有数据验证(在clean()
方法中)。我知道如何使用request.POST
作为输入来填充和验证表单,但是在python shell上也可以这样做吗?我是否可以将原始数据输入dict并用这些数据填充表单?是
在forms.py中
class FormA(forms.ModelForm):
class Meta:
model = Mymodel
def clean_field1(self):
#logic here
#return cleaned field1
in views.py
def populate_dict(line):
dict = {'field1': line[0], 'field2': line[2], ... }
return dict
def populate(request):
for line in lines():
initial = populate_dict(line)
form = FormA(initial=initial)
if form.is_valid():
form.save()
对
在forms.py中
class FormA(forms.ModelForm):
class Meta:
model = Mymodel
def clean_field1(self):
#logic here
#return cleaned field1
in views.py
def populate_dict(line):
dict = {'field1': line[0], 'field2': line[2], ... }
return dict
def populate(request):
for line in lines():
initial = populate_dict(line)
form = FormA(initial=initial)
if form.is_valid():
form.save()