在我的Django-Project中,我创建了一个表单来创建模型。发送表单/创建模型时,我想在'author'-Field中引用当前用户。 我遇到了一些麻烦。
author = forms.ModelChoiceField(queryset=User.objects.all())
我只想在此字段中保存模型的创建者。这可能吗?
答案 0 :(得分:1)
这就是模型的样子:
class Book(models.Model):
name = models.CharField(max_length=100)
author = models.ForeignKey(settings.AUTH_USER_MODEL)
某种形式:
class BookForm(ModelForm):
class Meta:
model = Book
fields = ['name']
最后是观点,这使它成为现实。
class BookView(FormView):
form_class = BookForm
def form_valid(self, form):
book = form.save(commit=False)
book.author = self.request.user
book.save()
但请记住确保有登录用户。