2010-09-02 27 views
6

İşte benim Kurulum:Django Yönetici'de bir çoğu-çok alanı Sipariş

from django.contrib.auth.models import User 

class Product(models.Model): 
    ... 
    email_users = models.ManyToManyField(User, null=True, blank=True) 
    ... 

[başka yerde] Ben "Ürün" sayfasını görüntülerken olduğumda

class ProductAdmin(admin.ModelAdmin): 
    list_display = ('name','platform') 

admin.site.register(Product, ProductAdmin) 

Benim asıl sorundur, yönetici bölümünde, e-posta kullanıcıları varsayılan olarak kimlikleri tarafından sipariş edilmiyor ve bunların kullanıcı adlarına göre sıralanmasını istiyorum.

email_users.admin_order_field = 'xxxx' 

Ama sözdizimi adı erişmek için ne olduğunu emin değilim: Ben şimdiye kadar okuduklarıma Ben ekleyerek gerekir gibi

itibaren, öyle görünüyor. cevap oysa

class ProductAdminForm(ModelForm): 
    email_users = forms.ModelMultipleChoiceField(queryset=User.objects.order_by('username')) 

    class Meta: 
     model = Product 

class ProductAdmin(admin.ModelAdmin): 
    list_display = ('name','platform') 
    form = ProductAdminForm 

admin.site.register(Product, ProductAdmin) 

Mine ben forms.ModelMultipleChoiceField gerekli anlamda biraz farklıydı:

+0

Bu numarayı bir ModelForm ve ModelChoiceField kullanarak denediniz mi? http://stackoverflow.com/questions/1474135/ – hao

+0

Teşekkür ederiz! Görünüşe göre benim arama-fu'm henüz tamamlanmadı. :) – MichaelC

cevap

2

yanıt yukarıda Hao Lian açıklamada sevk edildi, esasen, bu yapılması gereken budur sağlanan biçimler sağlandıModelChoiceField()

İlgili konular