2009-03-04 15 views
10

Chcę dziedziczyć klasę modelu z kodu innej firmy. Nie będę używać niektórych pól, ale chcę, aby mój klient mógł edytować model w Admin. Czy najlepiej jest ukryć je przed administracją, czy w ogóle nie mogę im zapobiec?Dziedziczenie modelu Django. Ukrywanie lub usuwanie pól

Dodatkowo - co mogę zrobić, jeśli wymagane jest jedno z niepożądanych pól? Moją pierwszą myślą jest zastąpić metodę zapisu i po prostu wprowadzić domyślną wartość.

Odpowiedz

4

Jeśli dziedziczysz model, prawdopodobnie nie jest mądra próba ukrycia lub wyłączenia istniejących pól. Najlepsze, co możesz zrobić, to dokładnie to, co zasugerowałeś: przesuń save() i zajmij się tam swoją logiką.

5

Można kontrolować pola, które są edytowalne admin.

Od docs Django:

„Jeśli chcesz formę dla modelu Autor, który zawiera tylko nazwisko i tytuł pola, to byłoby określić pola lub wykluczenia takiego:

class AuthorAdmin(admin.ModelAdmin): 
    fields = ('name', 'title') 

class AuthorAdmin(admin.ModelAdmin): 
    exclude = ('birth_date',)" 

http://docs.djangoproject.com/en/dev/ref/contrib/admin/

Powiązane problemy