> > Hang on, what you're doing here is repeatedly setting the data values > for each line to the *same* form_input model. Presumably what you > actually want to do is to create new Data instances for each line in > the CSV, with the place set to the value of the form. > > In this case, I'd recommend not to bother with a ModelForm at all. > Instead, just use a standard Form, and create new Data instances in > your for loop: > > class DataInput(forms.Form): > file = forms.FileField() > place = forms.ModelChoiceField(queryset=Places.objects.all()) > > def save(self): > records = csv.reader(self.cleaned_data[file]) > for line in records: > data_obj = Data() > data_obj.time = datetime.strptime(line[1], > "%m/%d/%y %H: %M: %S") > data_obj.data_1 = line[2] > data_obj.data_2 = line[3] > data_obj.data_3 = line[4] > data_obj.save() > > -- > DR.
Daniel The idea of using a form becomes a problem, because to replace the standar modelform inside the admin with ModelAdmin.form i need another modelform, according to this: http://docs.djangoproject.com/en/1.2/ref/contrib/admin/#adding-custom-validation-to-the-admin. If there's any way to replace a modelform with a standar form inside the admin view, i will appreciate some ideas. When i replace the modelform with a standar form, arrise an ImproperlyConfigured bug: DataAdmin.form does not inherit from BaseModelForm at admin.py: admin.site.register(Data, DataAdmin) But anyways i take your point of create new data instances inside the for loop: def save(self, commit=True, *args, **kwargs): file = self.cleaned_data['file'] records = csv.reader(file) for line in records: form_input = super(DataInput, self).save(commit=False, *args, **kwargs) form_input.place = self.cleaned_data['place'] form_input.time = datetime.strptime(line[1], "%m/%d/%y %H: %M: %S") form_input.data_1 = line[2] form_input.data_2 = line[3] form_input.data_3 = line[4] form_input.save() However i still got the AttributeError: 'NoneType' object has no attribute 'save'. Regards! -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.