【发布时间】:2022-01-22 17:10:53
【问题描述】:
我有一个模型,想通过在 Django 中使用 textarea 表单将数据保存为批处理。数据要逐行保存,我用的是splitlines(),每个数据用split(",")隔开。我在 form_valid() 函数中进行操作,但似乎无法正确操作。
只有最后一行保存成功。
forms.py
class DataForm(forms.ModelForm):
textarea_data = forms.CharField(widget=forms.Textarea)
class Meta:
model = Item
exclude = ('part_number','length','height','weight')
views.py
class InsertData(generic.CreateView):
model = Item
form_class = DataForm
def get_success_url(self):
return reverse('item_list')
def form_valid(self, form):
self.object = form.save(commit=False)
textarea_data = form.cleaned_data['textarea_data ']
data_line_list = textarea_data.splitlines()
for each_line in data_line_list:
each_line_list = each_line.split(",")
self.object.part_number = each_line_list[0]
self.object.length = each_line_list[1]
self.object.weight = each_line_list[2]
self.object.height = each_line_list[3]
self.object.save()
请问我哪里出错了。是否应该在其他地方进行操作?
【问题讨论】: