Diselesaikan: kueri model django

Salah satu masalah utama dengan permintaan model Django adalah mereka bisa sangat bertele-tele. Misalnya, jika Anda ingin menemukan semua artikel di blog tertentu, Anda perlu menggunakan kueri seperti ini:

artikel = Blog.objek.semua()

Jika Anda ingin menemukan semua artikel yang telah diterbitkan pada bulan lalu, Anda perlu menggunakan kueri seperti ini:

articles_published_in_the_last_month = Blog.objek.filter(diterbitkan=Benar)

There are a number of ways to query a Django model. The simplest way is to use the Model.objects.all() method, which will return all objects for that model.

If you want to filter the queryset, you can use the Model.objects.filter(**kwargs) method, where kwargs is a dictionary of field names and values to filter on. For example, if you only wanted objects with a certain value for the 'name' field, you could do:

Model.objects.filter(name='value')

If you want to get a single object from the queryset, you can use the Model.objects.get(**kwargs) method, which will return the first object that matches the given criteria. For example, if you wanted to get an object with a particular 'id' value:

Model.objects.get(id=1)

Jika Anda ingin mengurutkan queryset, Anda dapat menggunakan metode Model.objects.order_by(field_name) , yang akan mengurutkan queryset berdasarkan bidang yang diberikan dalam urutan menaik. Anda juga dapat menggunakan awalan '-' untuk mengurutkan dalam urutan menurun:

Model.objects.order_by('-nama')

Apa itu QuerySet

QuerySet adalah kumpulan model terkait yang dapat ditanyakan bersama. Ini adalah cara mudah untuk mengelompokkan model sehingga Anda dapat dengan mudah mengkuerinya sebagai satu unit.

Ekspresi Kueri

Ekspresi kueri adalah cara ampuh untuk memfilter data di Django. Ini mirip dengan klausa WHERE dalam kueri SQL, tetapi dapat digunakan dengan objek model apa pun.

Misalnya, Anda dapat menggunakan ekspresi kueri untuk menemukan semua artikel dengan judul yang dimulai dengan “Cara”:

artikel.filter(title__startswith='Cara')

Referensi API Set Kueri

API QuerySet menyediakan cara untuk membuat kueri bidang model dan data terkait. API dimodelkan setelah pernyataan SQL SELECT, dan memungkinkan Anda untuk menentukan bidang mana yang ingin Anda ambil, dalam urutan apa Anda ingin mengembalikannya, dan berapa banyak baris data yang ingin Anda kembalikan.

Untuk menggunakan QuerySet API, pertama buat objek model:

dari django.db impor model kelas MyModel(models.Model): nama = model.CharField(max_length=30)

Kemudian buat objek kueri:

query = MyModel.objects.create_query() query.select('nama').order_by('-nama')

Pos terkait:

Tinggalkan Komentar