Мой цикл for не работает так, как ожидалось - данные не отображаются в моем шаблоне django

Я пытаюсь использовать цикл for в шаблоне Django для отображения данных, хранящихся в моделях таблицы, но по какой-то причине данные не отображаются в шаблоне.

Views.py

def add_part(request):
    parts = Parts.objects.all()
    context = {
        "parts": parts
    }
    return render(request, 'admintemplate/add_parts_template.html', context)



def add_part_save(request):
    if request.method != "POST":
        messages.error(request, "Method Not Allowed!")
        return redirect('add_part')
    else:
        part_name = request.POST.get('part_name')
        part_type = request.POST.get('part_type')
        supplier_id = request.POST.get('suppliers')
        suppliers = Suppliers.objects.get(id=supplier_id)
        

        try:
            part = Parts(part_name=part_name, part_type=part_type, supplier_id=supplier)
            part.save()
            messages.success(request, "Part Added Successfully!")
            return redirect('add_part')
        except:
            messages.error(request, "Failed to Add Part!")
            return redirect('add_part')

models.py

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

Suppliers models

class Suppliers(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=20)

Parts model

class Parts(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=20)
    part_type = models.CharField(max_length=20)
    supplier_id = models.ForeignKey(Suppliers, on_delete=models.CASCADE)

Services model

class Services(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=20)
    service_type = models.CharField(max_length=20)
    supplier_id = models.ForeignKey(Suppliers, on_delete=models.CASCADE)

Шаблон части

Теперь услуги в шаблоне частей вообще не отображаются. На форме нет вариантов выбора. Но для шаблона добавления услуг он отображается. Я понятия не имею, почему так происходит, потому что я использовал точно такой же код для обоих шаблонов.

Изменение вида на этот решило проблему

def add_part(request):
    parts = Parts.objects.all()
    context = {
        "suppliers": suppliers
    }
    return render(request, 'admintemplate/add_parts_template.html', context)
Вернуться на верх