Форма Django DetailView не сохраняет данные

У меня есть DetailView, и мне нужно добавить форму для контакта с пользователем.

views.py

class ProductView(FormView, DetailView):
    model = Product
    template_name = 'product_detail.html'
    form_class = NotificationForm
    success_url = '/products/'

    def post(self, request, *args, **kwargs):
        return FormView.post(self, request, *args, **kwargs)

forms.py

class NotificationForm(ModelForm):
    ..."""some fields"""
    class Meta:
        model = Notification
        fields = [
            'usernameclient',
            'emailclient',
            'emailclient_confirmation',
            'phoneclient',
            'messageclient',
            ]

Модель Notification - это место, где хранятся данные из этой формы

models.py

class Notification(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    product = models.ForeignKey(Product, on_delete=models.CASCADE)
    ..."""some fields"""

Я пока не понимаю, как django работает с формами. После отправки формы происходит корректная переадресация на success_url, но в бд ничего не сохраняется... Чего не хватает?

А FormView сохраняет форму не, а CreateView сохраняет. Вы можете сохранить форму с помощью:

class ProductView(FormView, DetailView):
    model = Product
    template_name = 'product_detail.html'
    form_class = NotificationForm
    success_url = '/products/'

    def form_valid(self, form):
        form.save()
        return super().form_valid(form)
Вернуться на верх