Сбой ограничения NOT NULL: new__PFNews_pfnews.Auther_id - PullRequest
0 голосов
/ 15 февраля 2020

Я рассмотрел тонну этих проблем при переполнении стека, но ни одно из решений не помогло мне. Я пробовал null = True и пусто = True, а также default = None, и все они дают ошибки. У кого-нибудь есть идеи? Спасибо! Ошибка, которую я получаю, заключается в следующем: 1 - когда я создаю новый пост из (frontend), он выдает пустой пост (без заголовка, без контента и без автора) 2 - когда я создаю из бэкэнда, он работает нормально. 3 - когда я пытался удалить любое из значений null = True или пусто = True или обоих, выдается следующая ошибка:

Сбой ограничения NOT NULL: new__PFNews_pfnews.Auther_id

models.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',)

views.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)

urls.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'),]

1 Ответ

1 голос
/ 18 февраля 2020

В views.py

form_class.instance.author = self.request.user

Нет автора экземпляра, как в нижнем регистре в вашем models.py ... проверьте правильность написания

...