Прикрепление, отображение и отправка форм к каждому идентификатору товара, отображаемому в цикле for (Django)

Я хочу интегрировать форму для каждого продукта, включенную в цикл.

Каждая форма независима от других: если одна форма отправлена, другие не нужны.

В настоящее время форма не проверяется. Я думаю, это потому, что мне не удалось прикрепить форму к конкретному идентификатору товара, и я не уверен, как это сделать.

При применении формы к определенному Id на одной странице, я бы просто продолжил def function(request, product_id).

В данном случае это не вариант, поскольку я отображаю несколько товаров на одной странице.

models.py

class ReviewRating(models.Model):
    user = models.ForeignKey(User,blank=True, on_delete=models.CASCADE, related_name="usercomments")
    product=models.ForeignKey(Product,related_name="comments", on_delete=models.CASCADE)
    review =models.TextField(max_length=250, blank=True)
    rating =models.IntegerField(choices=RATING, default=0)

forms.py

class ReviewForm(forms.ModelForm):
    venue = forms.ModelChoiceField(queryset = Venue.objects.all(),required=False)
    
    class Meta:
        model = ReviewRating
        fields = ['review', 'rating','venue']
        widgets = {
                    'venue': forms.TextInput(attrs={'class':'form-select', 'placeholder':'Enter name'}),
                }

views.py

def show_event(request, event_id):    
    submitted = False
    form = ''
    form = 'ReviewForm'
      if request.method =="POST":
        form = ReviewForm(request.POST)
        if form .is_valid():
            data = form .save(commit=False)
            data.product_id = product_id #<-- How do I define product_id?
            data.user_id = request.user.id
            data.save()

        else :
            print(form .errors)
    else:
        form = ReviewForm()

    event = Event.objects.get(pk=event_id)
    categories = Product.objects.filter(event=event_id)
    menu = event.product.filter(event=event_id)
    return render(request, 'main/show_event.html',{'event':event, 'categories':categories,'menu':menu,'form':form,'submitted':submitted})

шаблон

{% if not event.product.all %}
No products have been selected for this event.  
{% else %}
        {% regroup categories by category_menu as category_menu_list %}
        {% for category_menu in category_menu_list %}
            {{category_menu.grouper}}
            {% for product in category_menu.list %}
                        <div class="form-group">
                            <form method="POST">
                                {% csrf_token %}
                                {{ form|as_crispy_errors }}
                                {{ form.rating|as_crispy_field }}
                                <input type="Submit" class="btn btn-secondary">Add Review</input >
                            </form>
                        </div>  
            {%endfor%}
        {%endfor%}
{%endif%}
Вернуться на верх