我有模型(model.py):
class Group(models.Model):
system_id = models.ForeignKey(System)
group_id = models.CharField(max_length=40)
description = models.TextField()
title = models.CharField(max_length=250)
latintitle = models.CharField(max_length=250)
audio = models.CharField(max_length=250)
我已经为包含多个组的上传文件添加了自定义字段,然后解析它(admin.py):
class GroupModelForm(forms.ModelForm):
file = forms.FileField(required=False)
def save(self, commit=True):
file = self.cleaned_data['file']
if file:
lines = file.readlines()
# ...do something with extra_field here...
return super(GroupModelForm, self).save(commit=commit)
class Meta:
model = Group
fields = ('file',)
class GroupAdmin(admin.ModelAdmin):
list_display = ('id', 'title', 'group_id')
form = GroupModelForm
fieldsets = (
('New Group', {
'fields': ('system_id', 'group_id', 'title', 'latintitle', 'description', 'audio')
}),
('Upload JSON file with groups info', {
'fields': ('file',)
}),
)
当我上传文件时,它说其他字段需要填写。
我的问题:如何忽略这些错误并将文件处理后重定向到另一个页面?
更新:我创建了所有字段blank=True
,但只有一个
答案 0 :(得分:0)
您还需要将字段设置为null=True
,因为您需要在数据库中允许NULL
以允许表单中的空白字段。
关于blank=True
和null=True
之间的区别以及它们与表单和字段的互动方式,这里有一个非常明确的解释:https://stackoverflow.com/a/8609425/2926113