-1

我在堆栈溢出方面查看了大量这些问题,但似乎没有一个解决方案对我有帮助。我试过 null=True 和 blank=True 以及 default=None ,它们都给出错误。有人有想法么?非常感谢!我得到的错误是:1-当我从(前端)创建新帖子时,它会给出空帖子(没有标题,没有内容,也没有作者)2-当我从后端创建时它工作正常。3-当我试图删除任何 null=True 或 blank=True 或两者时,它会给出以下错误:

NOT NULL 约束失败:new__PFNews_pfnews.Auther_id

模型.py

class PFNews (models.Model):
Title = models.CharField(max_length=200)
Content = models.TextField()
Post_Date = models.DateTimeField(default=timezone.now)
Post_Update = models.DateTimeField(auto_now=True)
Auther = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)

def __str__(self):
    return self.Title

def get_absolute_url(self):
    # return '/detail/{}'.format(self.pk)
    return reverse('pfnewsdetails', args=[self.pk])
class Meta:
    ordering = ('-Post_Date',)

视图.py

class PostCreateView(LoginRequiredMixin, CreateView):
model = PFNews
# fields = ['title', 'content']
template_name = 'PFNews/new_post.html'
form_class = PostCreateForm

def form_valid(self, form_class):
    form_class.instance.author = self.request.user
    return super().form_valid(form_class)

网址.py

urlpatterns = [
path('', home, name='home'),
path('about/', aboutus, name='about'),
path('newsdetail/<int:pfnews_id>/', pfnews_detail, name='pfnewsdetails'),
path('new_post/', PostCreateView.as_view(), name='new_post'),
path('detail/<slug:pk>/update/', PostUpdateView.as_view(), name='post-update'),
path('detail/<slug:pk>/delete/', PostDeleteView.as_view(), name='post-delete'),]
4

1 回答 1

1

在views.py

form_class.instance.author=self.request.user

您的models.py中没有小写的实例作者...检查您的拼写

于 2020-02-18T14:14:16.683 回答