hanya menampilkan baris tertentu di DataTables

Saya hanya ingin menampilkan kumpulan baris tertentu di JQuery Datatables berdasarkan beberapa kondisi (kueri/URL halaman).

Saya menggunakan REST API untuk meneruskan data di AJAX. Ini contoh lengkap saya

$(document).ready(function() {
    //datatables
    $('#mytable').DataTable({
      "ajax": "http://127.0.0.1:8000/api/v1/example/?format=datatables",

     "serverSide": true,
     "processing": true,

      "columns": [
          {"data": "col1"},
          {"data": "col2"},
          {"data": "col3"},
      ],

      "dom": "<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" +
             "<'row'<'col-sm-12'tr>>" +
             "<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-4'p>>",
    });
} );

Saya hanya ingin menampilkan sebagian baris berdasarkan beberapa kondisi pada col1 misalnya.

Apakah ada cara untuk menentukan baris seperti kita menentukan kolom?


person Marouen    schedule 19.03.2020    source sumber
comment
Paling masuk akal untuk memfilter data di sisi server.   -  person Rory McCrossan    schedule 19.03.2020
comment
Apakah ini menjawab pertanyaan Anda? jQuery DataTables memfilter baris berdasarkan beberapa nilai   -  person PM 77-1    schedule 19.03.2020
comment
@RoryMcCrossan ya pemfilteran sisi server dengan Django berfungsi. Terima kasih atas bantuan Anda. Silakan tambahkan jawaban Anda agar saya dapat menutup pertanyaan jika ini tidak terlalu sepele.   -  person Marouen    schedule 19.03.2020
comment
Sejujurnya saya merasa saya belum menjawab pertanyaan Anda karena itu hanya saran tentang cara terbaik untuk mendekati masalah tersebut. Jika mau, Anda dapat menambahkan jawaban Anda sendiri yang menunjukkan kode yang Anda gunakan - yang dapat diterima.   -  person Rory McCrossan    schedule 19.03.2020


Jawaban (1)


Seperti yang disarankan @RoryMcCrossan, jawabannya adalah memfilter sisi server. Karena saya menggunakan Django, pemfilteran dapat dilakukan di views.py.

Render halaman dapat dilakukan sebagai berikut berdasarkan beberapa kondisi:

def page(request):
    items = Item.objects.all()
    items=items.filter(col1="somecondition")
    return render(request, 'page.html', {'items': items})

Dalam hal ini, tabel data tidak lagi dipanggil dari REST API tetapi langsung di template dari model seperti yang dijelaskan di models.py

person Marouen    schedule 19.03.2020