Django Отправка формы в длинном цикле

Я много чего перепробовал, теперь хочу спросить у вас. У пользователя есть несколько кнопок.

Моя цель - подсчитать каждое нажатие на определенную кнопку. Конкретная кнопка - это поле (модель поля). Как выглядят модели:

class Field(models.Model):
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        default=None,
        null=True,
        on_delete=models.CASCADE,
    )
    description = models.CharField(max_length=255)
    title = models.CharField(max_length=255)
    url = models.CharField(max_length=255)
    ...


class Hits(models.Model):
    field = models.OneToOneField(
        Field, default=None, null=True, on_delete=models.CASCADE)
    hits = models.IntegerField(default=0)

\\\\HTML шаблон

      {% for i in request.user.field_set.all %} {% if request.user == i.user %}
    <form method="POST">
      {{ hits_form }}
      {% csrf_token %}
      <div class="full-w-button">
        <p class="preview-description">{{ i.description }}</p>
        <button onClick="javascript:window.open('{{i.url}}', '_blank');" type="submit" class="link-box">
            <p class="text-bold-medium">{{ i.title }}</p>
        </button>
      </div>
    </form>
      {% endif %} {%endfor %}

Предполагается, что форма hits_form будет скрытым входом для подсчета кликов. Мои проблемы следующие: -когда пользователь нажимает на кнопку, счетчик для определенного поля += 1 -иметь форму для каждого поля, в настоящее время одна форма, вероятно, сохраняет счетчик для всех полей, поэтому я зацикливаюсь с формами, но каждая форма одна и та же

\\\views.py

In the Views File, the important parts is the hits_form, the other form works fine

if request.method == 'POST':
  hits_form = #here i am stuck
  form = FieldForm(request.POST, instance=Field(user=request.user))

  if hits_form.is_valid():
            # and here i am stuck
            return redirect('/dashboard')

        if form.is_valid():
            time.sleep(1.5)
            obj = form.save(commit=False)
            obj.creator_adress = get_client_ip(request)
            obj.save()
            return redirect('/dashboard')
    else:
        form = FieldForm()
        hits_form = HitsForm()

Спасибо за помощь :-)

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