2010-04-06 15 views
89

Jak zmienić nazwę niektórych modeli z "Kategorii" na "Kategorie" na stronie administratora w nowej wersji dev django? W starej wersji (bez stron administracyjnych i modeli administracyjnych) możesz to zrobić; http://www.the-dig.com/blog/post/customize-plural-name-django-admin/Django fix Admin liczba mnoga

Jednak - teraz ustawienie verbose_name_plural wewnątrz mojej klasy opartej na modeladmin nic nie robi. Ktoś łączy ten sam problem?

+0

To działa na mnie w Django 1.1.1 ... Czy na pewno jesteś umieszczenie go wewnątrz Meta zagnieżdżone klasy? – rescdsk

+0

Tak, właśnie pomyślałem, że nowe wersje pozbyły się wewnętrznej klasy Meta wewnątrz modeli. Wygląda na to, że nie - po prostu sprawiły, że sprawy stały się bardziej skomplikowane dzięki klasom administratorów ... – drozzy

Odpowiedz

162

Cóż, wygląda na to, że podejście klasy Meta nadal działa. więc umieszczenie wewnątrz klasy meta modelu będzie nadal rade:

class Category(models.Model): 
    class Meta: 
     verbose_name_plural = "categories" 

pamiętać, że używanie małych liter tutaj, jak Django jest wystarczająco inteligentny, aby wykorzystać go, kiedy go potrzebujemy.

Znajduję ustawienie tej opcji w klasie modelu dziwne w przeciwieństwie do pliku admin.py. Oto lokalizacja w docs dev gdzie jest to opisane:
http://docs.djangoproject.com/en/dev/ref/models/options/#verbose-name-plural

+10

Pomysł ustawienia tego w klasie modelu (zamiast w admin.py) sprowadza się do [DRY] (http://en.wikipedia.org/wiki/Don% 27t_repeat_yourself) - tylko dlatego, że administrator jest jedyną osobą, która korzysta z tej informacji na temat twojego modelu, nie oznacza to, że zawsze będzie. Mam nadzieję, że jeśli będziesz potrzebować liczby mnogiej modelu gdzieś we własnym kodzie, użyjesz tej właściwości zamiast ponownego wynajdywania koła. – cibyr