Verwendung Django 1.1:Verwenden von beliebigen Methoden oder Attributen als Felder auf Django ModelAdmin-Objekten?
Die Django admin docs describe auf einem Objektmodeladmin beliebige Methoden oder Attribute unter Verwendung von in dem list_display
Klassenattribut. Dies ist ein großartiger Mechanismus zum Anzeigen beliebiger Informationen in der Listenanzeige für ein Modell. Es scheint jedoch keinen ähnlichen Mechanismus für die Änderungsformularseite selbst zu geben. Was ist der einfachste Weg, um diese nützliche kleine Funktion zum Anzeigen von willkürlichen, nicht von Feldern abgeleiteten Informationen auf der ModelAdmin-Änderungsformularseite zu erreichen?
Ein konkretes Beispiel für die gewünschte Einstellung:
class CustomUserAdmin(UserAdmin):
def registration_key(self, obj):
"""Special method for looking up and returning the user's registration key
"""
return 'the_key'
list_display = ('email', 'first_name', 'last_name', 'is_active', 'is_staff',
'registration_key') # <- this works
fields = ('email', 'first_name', 'last_name', 'is_active', 'is_staff',
'registration_key') # <- this DOESN'T work?
Ich wünsche! 'readonly_fields' ist neu in Django 1.2, und ich stecke vorerst mit 1.1 fest. –
Sie haben dann Pech, ich fürchte - es gibt keine Möglichkeit, dies in 1.1 ohne schwere Hacker zu tun. –