Django datatables.net - PullRequest
       5

Django datatables.net

0 голосов
/ 21 апреля 2020

Я использую Django и jquery таблицы данных. net. У моей модели более 13000 записей. Когда он запускается, он показывает список как таблицы данных. net не активен, пока столбцы автоматически корректируются. После завершения загрузки всех записей данным требуется 20se c для отображения с таблицами данных. net active (работает отлично) и показывает ячейку нумерации страниц и поиска. Как сделать так, чтобы таблица отображалась только из datatable. net и увеличивалась скорость? Есть ли способ показать первые 10 записей сразу? Что я делаю неправильно? Спасибо

prutable. html

<!doctype html>
<html lang="en">    
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>Hello, Table!</title>    
    <link rel="stylesheet" href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css">    
</head>    
<body>    
    <table id="table_id" class="display" border='2' align="center" style="width:100%">
        <thead>
            <tr>
                <th>Codigo</th>
                <th>Descripcion</th>
                <th>Importe</th>
                <th>Stock</th>
            </tr>
        </thead>    
        <tbody>    
            {% for articulo in object_list %}
            <tr>
                <td>{{ articulo.cdg }}</td>
                <td>{{ articulo.desc }}</td>
                <td>{{ articulo.imp }}</td>
                <td>{{ articulo.stock }}</td>
            </tr>    
            {% endfor %}
        </tbody>
    </table>        
</body>    
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>    
<script>
    $(document).ready(function () {
        $('#table_id').DataTable({    
        }
        );
    });
</script>

views.py

class LstPreListView(ListView):
    template_name = "base/prutable.html"
    queryset = Articulo.objects.all().order_by("desc")

моделей. py

class Articulo(models.Model):   
    cdg = models.CharField(primary_key=True, max_length=20, blank=True, null=False)
    desc = models.CharField(db_index=True, max_length=200, blank=True, null=True)
    imp = models.DecimalField(max_digits=14, decimal_places=2, blank=True, null=True)
    stock = models.IntegerField(blank=True, null=True)

    def __str__(self):
        return '{} '.format(self.nombre)
...