Ошибка с формой

У меня вылезает такая ошибка

NoReverseMatch at /view_games/vin/ Reverse for 'add_review' with arguments '('',)' not found. 1 pattern(s) tried: ['review/(?P[0-9]+)/\Z'] И оно винит это

    <form action="{% url 'add_review' game.id %}" method='post'>

Я щяс покажу вам все

Views.py

class AddReview(View):
  def post(self, request, pk):
    form = ReviewsForm(request.POST)
    if form.is_valid():
        form = form.save(commit=False)
        form.game_id = pk
        form.save()
        return redirect('/')

Models.py

class Reviews(models.Model):
    email = models.EmailField()
    name = models.CharField('Имя', max_length=100)
    text = models.TextField('Комментарий', max_length=5000)
    parent = models.ForeignKey('self', verbose_name='Родитель', on_delete=models.SET_NULL, 
          blank=True, null=True)
    game = models.ForeignKey(Games, verbose_name='Игра', on_delete=models.CASCADE)

    def __str__(self) -> str:
        return f'{ self.name } - { self.game }'

    class Meta:
       verbose_name = 'Отзыв'
       verbose_name_plural = 'Отзывы'

Urls.py

path('review/<int:pk>/', AddReview.as_view(), name='add_review'),

Forms.py

    from django import forms
    from .models import Reviews

    class ReviewsForm(forms.ModelForm):    
         class Meta:
             model = Reviews
             fields = ('name', 'email', 'text')

Html

  <h5 class="fw-bold">Отзывы</h5>
  {% csrf_token %}
  <form action="{% url 'add_review' game.id %}" method='post'>

model Games

    class Games(models.Model):
          title = models.CharField(max_length=255, verbose_name='Название игры')
          game_description = models.TextField(verbose_name='Описание игры')
          updated_at = models.DateTimeField(auto_now=True, verbose_name='Обновлено')
          downloads = models.DecimalField(max_digits=16, decimal_places=0, 
              verbose_name='Загрузок')
          watches = models.DecimalField(max_digits=19, decimal_places=0, 
              verbose_name='Просмотров')
          video = models.URLField(null=True)
          main_image = models.ImageField(upload_to='games_images/%Y/%m/%d', 
           verbose_name='Главное изображение', null=True)
          url = models.SlugField(verbose_name='Название URL', default='eld', max_length=330, 
           unique=True)

          date_games = models.ForeignKey('DateGames', on_delete=models.PROTECT)
          genres = models.ForeignKey('Genres', on_delete=models.PROTECT)


          def __str__(self) -> str:
                  return self.title

          def get_absolute_url(self):
                  return reverse("view_games", kwargs={"slug": self.url})

Я лишнюю информацию убрал типа, оперативка, память, кароче лишние поля убрал чтобы вам глаза не мозолить! Заранее спасибо большое!

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