Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menapis Pilihan ForeignKey dalam Django ModelForms?
Django ModelForm Filtering ForeignKey Choices
Pengenalan
Apabila membuat borang dalam Django, ia boleh wajar untuk mengehadkan pilihan yang dikemukakan kepada pengguna untuk medan tertentu berdasarkan kriteria tertentu. Ini amat berguna dalam senario yang melibatkan data hierarki, seperti semasa memilih kunci asing.
Kajian Kes: Memilih Pilihan ForeignKey dalam ModelForm
Mari kita pertimbangkan hipotesis Projek Django dengan model berikut:
Dalam kes ini, setiap syarikat mempunyai berbilang kadar dan pelanggan. Setiap pelanggan mesti mempunyai kadar asas yang dipilih daripada kadar syarikat induknya, bukan kadar syarikat lain.
Menghadkan Pilihan ForeignKey Menggunakan Penapisan QuerySet
Untuk mengehadkan pilihan untuk Kadar medan dalam borang Pelanggan kepada hanya kadar yang dikaitkan dengan syarikat yang dipilih, kami boleh mengubah suai kelas ClientForm kami seperti berikut:
Dalam kod ini, kami mendapatkan ID Syarikat daripada contoh yang dikaitkan dengan borang. Ini memastikan bahawa pilihan Kadar ditapis berdasarkan syarikat yang betul.
Nota Tambahan
Atas ialah kandungan terperinci Bagaimana untuk Menapis Pilihan ForeignKey dalam Django ModelForms?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!