Как отобразить содержимое базы данных без разбора ID в урлах в django

Я все еще новичок в Django и строю систему управления, я хочу отображать содержимое из базы данных с помощью цикла for из 2 таблиц (GoCustomerRegisration и GoCustomerStatus). Но, к сожалению, когда я делаю итерацию по одной таблице, другая таблица выводит мне только последний элемент этой таблицы. На самом деле я хочу сделать итерацию по обеим таблицам сразу, и каждый элемент должен соответствовать ему в другой таблице. Посмотрите мой код ниже:

something.html

{% for item in detail %}
<tr>
  <td>
    <a class="text-black text-decoration-none" href="{{ item.photo.url }}">
      <img class="rounded-circle me-2" style="object-fit: contain; background-color:#91debb; border:1px solid palegreen;" alt="" width="30" height="30" src="{{ item.photo.url }}"></a>
  </td>
  <td>
    <a class="text-black lg:hover:text-blue-400 text-decoration-none" href="{% url 'customer_detail' pk=item.id %}">{{ item.name }}</a>
  </td>
  <td class="text-capitalize">{{ item.type }}</td>
  <td>{{ item.destination }}</td>
  <td>{{ item.age }}</td>
  <td>{{ item.time_of_submission }}</td>
  <td>
    <span>{{ hello.value }}%</span>
    <div class="col">
      <div class="progress progress-sm">
        <div class="progress-bar progress-bar-striped bg-success" aria-valuenow="{{ hello.value }}" aria-valuemin="0" aria-valuemax="100" style="width: {{ h.value }}%;"><span class="visually-hidden"></span>
        </div>
      </div>
    </div>
  </td>
  {% endfor %}

my views.py

@login_required
def preview(request):
    global hello
    detail = GoCustomerRegistration.objects.all()
    next_event = Event.objects.last()
    for i in range(1, (len(detail))+1):
        print(i)
        hello = GoCustomerStatus.objects.get(name_id=i)
        print(hello)
    context = {
        'detail': detail,
        'event': next_event,
        'hello': hello,
    }
    return render(request, 'customers_preview.html', context)

my urls.py

from django.urls import path

urlpatterns = [
  path('preview/', preview, name='preview'),
]

my models.py

class GoCustomerRegistration(models.Model):
    name = models.CharField(max_length=300, verbose_name='Full name')
    email = models.EmailField(null=False)
    type = models.CharField(max_length=20, verbose_name='Customer Type')
    destination = models.CharField(max_length=30, null=False, verbose_name='Destination')
    time_of_submission = models.DateTimeField(auto_now_add=True, null=False, verbose_name=' Submit Time')
    phone_number = models.IntegerField(verbose_name='Phone number')
    age = models.IntegerField(verbose_name="Age", null=False)
    photo = models.ImageField(max_length=10000, verbose_name='Customer Picture',
                              null=False, upload_to='customers/profiles/')
    documents = models.FileField(upload_to='%Y/customers/documents/')


    class Meta:
        ordering = ["time_of_submission"]
        verbose_name = "Customer Registration"
        verbose_name_plural = "Customers Registration"

    def __str__(self):
        return self.name


class GoCustomerStatus(models.Model):
    name = models.OneToOneField(GoCustomerRegistration,
                                max_length=300, verbose_name='Full name',
                                on_delete=models.CASCADE, primary_key=True,
                                null=False,
                                )
    value = models.IntegerField(default=0, verbose_name='Level', null=False, primary_key=False)

    class Meta:
        verbose_name_plural = 'Customers Status'
        verbose_name = 'Customer\'s Status'

    def __str__(self):
        return self.name.name
Вернуться на верх