使用Django 3,我有一个模型和一个模型表单:
class Upload(models.Model):
content = models.TextField(blank=True, null=True)
image = models.FileField(upload_to='images/', blank=True, null=True)
class UploadForm(forms.ModelForm):
class Meta:
model = Upload
fields = ['content',]
def clean_content(self):
content = self.cleaned_data.get('content')
if len(content) > MAX_CONTENT_LENGTH:
raise forms.ValidationError('This content is too long')
视图如下:
def upload_view(request, *args, **kwargs):
form = UploadForm(request.POST or None)
if form.is_valid():
instance = form.save(commit=False)
instance = instance.save()
form = UploadForm()
我正在提示用户仅上传内容。保存表单后,即使我在表单内输入了一些文本,在数据库中它也会获得NULL值。我该如何解决?
答案 0 :(得分:0)
按以下说明进行纠正
if request.method == "POST":
if form.is_valid():
instance = form.save(commit=False)
# instance.something = something
instance.save()
return redirect('/')
else:
form = UploadForm()
return render(request, 'your.html', {'form': form})