2013-02-05 9 views
5

W moich admin.py filtrować przez „aktywny” i „kraju” odbywa się to za pomocą poniższego wiersza kodu w mojej klasie SomethingAdmin ....Django: list_filter stosując przyjazną nazwę

list_filter = ['active', 'countryid'] 

As możesz zobaczyć, że countryid nie jest ładny, gdy jest wyświetlany w moim widoku listy administratorów, jak mogę zmienić to na bardziej przyjazną nazwę, na przykład "Kraj"?

Dzięki.

Aktualizacja: Poniżej wydaje się działać:

incentiveid = models.ForeignKey(Incentive,verbose_name="Incentive", 
null=True, db_column='incentiveID', blank=True) 
+3

Definiowanie etykiet dla pól w modelu. 'label = 'Country'' –

+0

to model fk.ForeignKey (Country, null = True, db_column =' countryID ', puste = True) – Prometheus

Odpowiedz

4

Jak Aamir mówi, jeśli zdefiniować etykiety na swoich polach w modelu, powinien pojawić się bardziej atrakcyjne opcje filtrowania:

class MyModel(models.Model): 
    countryid = models.ForeignKey(Country, 
            verbose_name="Country", null=True, 
            db_column='countryID', blank=True) 

przy założeniu, że Country to nazwa innego Model - powinno to być widoczne w widoku filtru Admin.

+1

czy to jest to samo co verbose_name? – Prometheus

+0

Nie, nazwa "verbose_name" dotyczy takich elementów, jak znaczniki pomocy. – danodonovan

+0

ok, więc spróbowałem tego i zmieniło filtr na "Kraj" czy jesteś pewien o verbose_name? models.ForeignKey (Country, verbose_name = "Country", null = True, db_column = 'countryID', puste = True) – Prometheus

Powiązane problemy