2013-02-16 29 views
5

Varsayımsal olarak: Bir kullanıcıyla ilgili olan, Car adında bir modelim var. Endişemde varsayılan Django Yöneticisi var. Bir kullanıcıyı bir arabaya bir açılır menü aracılığıyla atayım (bu varsayılan Django davranışıdır, bu yüzden söylüyorum).1000 kullanıcı kullanıcısı Django yönetici açılır menüsü

Açılır menüden 1000’ten fazla kullanıcı seçtiğimde ne olur? Yönetici bununla ilgilenir mi, eğer öyleyse?

cevap

6
hala ancak raw_id_fields seçeneği üzerinden yerine çiğ kimliği widget kullanarak seçeneği için varsayılan olarak sahip seçkin kutusu görüntüler yönetici

: Varsayılan olarak https://docs.djangoproject.com/en/1.4/ref/contrib/admin/#django.contrib.admin.ModelAdmin.raw_id_fields

, Django'nın yönetici seçkin kutu arayüzünü kullanıyor() ForeignKey olan alanları için. Bazen, ek yükünü, açılır menüsündeki görüntülenecek tüm ilgili örnekleri seçmek zorunda kalmak zorunda kalmazsınız.

+0

Yani bu bir arama sağlamak kapsamaz:

Sen böyle bir şey yapabilir? Yönetici kullanıcılar kimliği bilmiyorlar mı? – Prometheus

+0

Evet, girdinin yanında kimliği bulmak için kullanılabilecek bir arama simgesi var. –

4

Yönetici arayüzünü geliştiren bir uygulama olan django-grappelli'a bakabilirsiniz. documentation, ForeignKey veya ManyToMany ilişkileri için bir otomatik tamamlamayı raw_id_fields kullanarak açıklar.

+0

vay, bilmek güzel. Teşekkür ederim. – Prometheus

+0

Sorun değil, yardımcı olmasına sevindim – msc

3

django-select2 eklentisini https://github.com/applegrew/django-select2 kullanabilirsiniz.

from django_select2 import AutoModelSelect2Field 

class CategoryChoices(AutoModelSelect2Field): 
    queryset = models.Category.objects 
    search_fields = ['name__icontains', 'code__icontains'] 

class NewsAdminForm(forms.ModelForm): 
    category = CategoryChoices() 

    class Meta: 
     model = models.News 
     exclude =() 

# register in admin 
class NewsAdmin(admin.ModelAdmin): 
    form = NewsAdminForm 
admin.site.register(News, NewsAdmin)