Django - '由' -Field创建

时间:2014-09-24 11:04:52

标签: python django model

在我的Django-Project中,我创建了一个表单来创建模型。发送表单/创建模型时,我想在'author'-Field中引用当前用户。 我遇到了一些麻烦。

author = forms.ModelChoiceField(queryset=User.objects.all())

我只想在此字段中保存模型的创建者。这可能吗?

1 个答案:

答案 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() 

但请记住确保有登录用户。