Записи не отображаются в таблице django

#python #sql #django

#python #sql #django

Вопрос:

Проблема: у меня есть одна модель контакта. В этой модели контактов у меня есть несколько типов (поставщик, клиент и сотрудник). Данные были загружены в таблицу SQL, но они не отображаются в таблице Django / html. Нужно ли мне изменить способ написания моей модели?

Заранее спасибо

Модель:

 class Contact(models.Model):

    CONTACT_TYPE = (      
        (0, 'Customer'),
        (1, 'Supplier'),
        (2, 'Employee'),
      
        )
    GENDER = (      
        (0, 'Male'),
        (1, 'Female'),
        )
    

    type = models.IntegerField(choices=CONTACT_TYPE,default=1)
    gender = models.IntegerField(choices=GENDER,default=0)
    company = models.ForeignKey(Company, on_delete=models.CASCADE, blank=True, null=True)
 

Число просмотров:

 def index_supplier(request):
    contacts = Contact.objects.all()
    suppliers = Contact.objects.filter(type=1).all()
    count_supplier= Contact.objects.filter(type=1).count()        
    context = {
                'contacts': contacts,
                'count_supplier': count_supplier,                   
                         
            }
    return render(request, 'contacts/index_supplier.html', context)
 

Шаблоны:

 <div class="container-fluid">
     <div class="col-sm-20">
           <table id="dtBasicExample" class="table table-striped table-hover">
           <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
           <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.js"></script>
           <script>
                   $(document).ready(function(){
                   $('#dtBasicExample').DataTable();
            });
           </script>                    
           <thead>
               <tr>
                    <th>Type</th> 
                    <th>Contact Name</th>
                    <th>Company</th>                             
               </tr>
           </thead>
           <tbody>
               {% for contact in suppliers.all %}
               <tr>                                                  
                    <td>{{ contact.get_type_display }}</td>
                    <td>{{ contact.first_name }}</td>
                    <td>{{ contact.company }}</td>                      
               </tr>
               {% endfor %}
      </div>
</div>
 

Ответ №1:

Вам нужно исправить вашу context переменную:

 context = {
            'contacts': contacts,
            'count_supplier': count_supplier,                   
            'suppliers': suppliers,
        }