Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah Anda Menapis Set Pertanyaan Django Berdasarkan Sifat Model?

Bolehkah Anda Menapis Set Pertanyaan Django Berdasarkan Sifat Model?

Susan Sarandon
Susan Sarandonasal
2024-10-17 17:03:30237semak imbas

Can You Filter Django Querysets Based on Model Properties?

Menapis oleh Django Model Properties

Bolehkah anda menapis set pertanyaan Django berdasarkan sifat model? Bayangkan anda mempunyai sifat model yang ditakrifkan seperti berikut:

<code class="python">@property
def myproperty(self):
    # ...</code>

Anda mahu menapis set pertanyaan menggunakan sifat ini, seperti:

<code class="python">MyModel.objects.filter(myproperty=[...])</code>

Adakah ini boleh dicapai?

Jawapan

Malangnya, anda tidak boleh menapis secara langsung pada sifat model dalam Django. Penapis Django beroperasi pada peringkat pangkalan data, menjana SQL. Untuk menilai sifat Python, anda mesti membawa objek ke dalam Python terlebih dahulu. Walau bagaimanapun, pendekatan ini mengalahkan tujuan penapisan pangkalan data.

Atas ialah kandungan terperinci Bolehkah Anda Menapis Set Pertanyaan Django Berdasarkan Sifat Model?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn