【发布时间】:2018-12-12 01:57:16
【问题描述】:
我有以下表格和模型:
class Book(models.Model):
name = models.CharField(max_length=128, null=True, blank=True)
author = models.CharField(max_length=128, null=True, blank=True)
borrower = models.ForeignKey('core.User')
class BookForm(forms.ModelForm)
class Meta:
model = Book
fields = ("name", "author", "borrower")
@login_required
def private(request):
if request.method == 'POST':
form = BookForm(request.POST)
if form.is_valid():
book = form.save(commit=False)
book.save()
else:
form = BookForm()
return render(request, 'borrow.html', {'form': form, })
该网站允许用户将新书提交到他们自己的私人页面。当用户尝试提交同一用户之前提交过的图书时,就会出现问题。
应该在哪里实施验证以及如何实施?
- 如果我选择在表单 clean 方法中验证它,那么我无法获取请求以查看它是哪个用户。
- 如果我选择在视图中进行验证,那么表单已经验证后如何使表单失效?
【问题讨论】:
标签: django django-forms django-views