NOT NULL constraint failed: spring_post.publisher_id

Я создал представление создания базы класса. Когда я пытаюсь представить представление создания модели поста, оно возвращается. NOT NULL constraint failed: spring_post.publisher_id. Как я могу установить издателя, чтобы получить текущего зарегистрированного пользователя и установить его в поле piblisher поста. я новичок это поле publisher в моей модели post

    publisher=models.ForeignKey(User,on_delete=models.PROTECT)
#and this is my views
class PostCreateView(LoginRequiredMixin,CreateView):
    model=Post
    fields=['title','description']
    redirect_field_name="login"

Вам нужно установить .publisher пост, так:

class PostCreateView(LoginRequiredMixin,CreateView):
    model=Post
    fields = ['title','description']
    redirect_field_name = 'login'

    def form_valid(self, form):
        form.instance.publisher = self.request.user
        return super().form_valid(form)

Вероятно, вам также следует указать success_url [Django-doc], чтобы указать, куда перенаправлять, если POST-запрос был успешным.


Примечание: Обычно лучше использовать settings.AUTH_USER_MODEL [Django-doc] для ссылки на модель пользователя, чем использовать User модель [Django-doc] напрямую. Для получения дополнительной информации вы можете посмотреть ссылка на User модель раздел документации .

Вернуться на верх