我正在尝试将元素列表插入表中。输入来自 CSV 文件,某些条目可能是错误的。以下是好的做法吗? (全部都是伪代码)
for line in lines:
my_obj_entries = parse_line(line)
obj = Entry(name=my_obj_entries[0], value=my_obj_entries[1])
try:
obj.clean()
obj.save()
except ValidationError:
print "Invalid object for line %s" % line
我来自 Rails,这似乎是插入数据的方式,同时仍然检查有效性。
最佳答案
Django 中的数据验证是通过表单进行的。您应该使用表单来验证数据,然后使用表单的 save 方法保存数据。请参阅django documentation on forms ;创建验证您创建的模型的表单非常容易。
class Entry(models.Model):
name = models.CharField()
class EntryForm(forms.ModelForm):
class Meta:
model = Entry
for line in lines:
data = parse_line(line)
form = EntryForm(data)
if form.is_valid():
form.save()
else:
print("form not valid: %s" % form.errors)
关于python - 这是使用 Django 将 CSV 文件的内容插入数据库的好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21203001/