请帮助我如何访问作者模型并填写用户字段
我的模特:
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, verbose_name='کاربر',blank=True, null=True)
avatar = models.ImageField(upload_to='media/user_avatar/', null=True, blank=True, verbose_name='عکس کاربر')
description = models.CharField(max_length=500, blank=True, null=True, verbose_name='توضیحات و رزمه')
class Article(models.Model):
title = models.CharField(max_length=200, blank=False, null=False, unique=True, verbose_name='عنوان')
cover = models.ImageField(upload_to='media/article_cover/', null=False, blank=False, verbose_name='عکس مقاله')
content = models.TextField(blank=False, null=False, verbose_name='متن مقاله')
created_at = models.DateTimeField(auto_now_add=True, verbose_name='تاریخ')
category = models.ManyToManyField('Category', blank=False, verbose_name='دسته بندی', related_name='article')
author = models.ForeignKey(UserProfile, on_delete=models.CASCADE, verbose_name='انتشار دهنده',null=True)
文章添加类
class ArticleCreate(LoginRequiredMixin, FieldMixin, CreateView):
template_name = 'registration/article_create.html'
model = Article
fields = ['title', 'cover', 'content', 'category', 'author', ]
def form_valid(self, form):
if self.request.user.is_superuser:
form.save()
else:
obj = form.save(commit=False)
obj.author.user = self.request.user
obj.save()
return super(ArticleCreate, self).form_valid(form)
这些代码的结果是此错误: