使用模型形式';是否验证数据导入到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作为

我有一个django应用程序,我需要将现有数据从文本文件导入新数据库。 通常我会这样做:

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()