Saya menemukan default Django Admin models.ManyToManyField
widget menjadi rumit untuk digunakan. Ini adalah elemen pemilihan HTML dan jika Anda memiliki banyak Objek dengan model "lainnya" maka tidak praktis untuk benar-benar menemukan Objek "lain" yang ingin Anda kaitkan dengan Objek "ini". Dan jika Anda memiliki banyak objek dari model "lainnya", ini tampaknya memperlambat rendering halaman Admin.
Saya sadar bahwa saya dapat membuat widget admin kustom saya sendiri dan menerapkannya ke widget ManyToManyFields
saya sesuai keinginan saya, tetapi adakah yang sudah dibuat sebelumnya yang mungkin saya gunakan? Dalam mimpi saya, saya membayangkan widget HTML input teks yang dilengkapi otomatis. Apakah ini praktis / mungkin dilakukan dalam kerangka admin Django?
Terima kasih.
sumber
Anda dapat mencoba menggunakan id mentah di admin. dan dokumen django: http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.raw_id_fields
jika Anda mencari sesuatu dengan pelengkapan otomatis, Anda mungkin ingin melihatnya sebagai titik awal http://code.djangoproject.com/wiki/AutoCompleteSolutions
dan terakhir Contoh sebaris yang sangat sederhana:
models.py
admin.py:
sumber
Saya belum benar-benar bermain dengannya tetapi saya menemukan perpustakaan yang tampak menjanjikan ini direferensikan di tempat lain.
Tampaknya melakukan apa yang saya inginkan. Alih-alih memuat seluruh daftar objek terkait (terlepas dari berapa banyak yang ada!) Dan memberi Anda alat pilih untuk memilih beberapa di antaranya, seperti
filter_horizontal
halnya, ini menyajikan kotak pencarian / filter dan menggunakan panggilan typeahead / autocomplete untuk mengambil hasil secara dinamis. Ini bagus untuk kasus di mana Anda mungkin memiliki 5.000 pengguna dan ingin memilih 3 atau 4 di antaranya tanpa menunggu 5k<option>
elemen untuk diunduh dan dirender.sumber
Ini adalah pertanyaan lama, tetapi saya ingin menambahkan jawaban di sini untuk orang-orang yang menemukan ini seperti yang saya lakukan: situasi ini persis untuk apa admin sebaris Django. Secara khusus, saya menggunakan TabularInlines dengan bidang id mentah untuk relasi banyak-ke-banyak yang memiliki terlalu banyak pilihan.
https://docs.djangoproject.com/en/2.1/ref/contrib/admin/#django.contrib.admin.TabularInline
sumber