2011-01-01 6 views

Antwort

0

Sie könnten eine Unterklasse der Klasse django.contrib.admin.ModelAdmin erstellen, die die ModelAdmin.formlabel_suffix auf eine festgelegte Zeichenfolge festlegt. Auf diese Weise jedes Modell, das verwendete, dass ModelAdmin den gleichen Präfix haben würde:

# myproject/myapp/admin.py 

from django.contrib import admin 
from myproject.myapp.models import MyModel, AnotherModel, YetAnotherModel, \ 
            SomeSpecialModel 

class PrefixAdmin(admin.ModelAdmin): 
    def __init__(self, *args, **kwargs): 
     super(PrefixAdmin, self).__init__(*args, **kwargs) 
     self.form.label_suffix = 'some suffix here' 

# Use this ModelAdmin class for all your models: 

admin.site.register(MyModel, PrefixAdmin) 
admin.site.register(AnotherModel, PrefixAdmin) 
admin.site.register(YetAnotherModel, PrefixAdmin) 

# Or if you need a specific ModelAdmin for a particular Model 
# just extend from the PrefxiAdmin class: 

class SpecialModelAdmin(PrefixAdmin): 
    # ... 

admin.site.register(SomeSpecialModel, SpecialModelAdmin) 
+0

Dies scheint keine Wirkung zu haben. Fehle ich etwas anderes als der hier erwähnte Code? Beim Versuch, zu drucken, wird der folgende Fehler angezeigt. "type object 'ModelForm' hat kein Attribut 'label_suffix'" –

+0

Ich kann überprüfen, dass ein 'django.forms.Form' das Attribut' label_suffix' hat, aber wenn ich durch den Quellcode von Django schaue, sehe ich, dass 'ModelForm' von etwas anderem ausgeht. Obendrein kann ich keine Möglichkeit sehen, ein 'Form'-Objekt von einem' ModelForm' zu erhalten. Ich bin ein bisschen fest, um ehrlich zu sein. –

+0

Rückwärts inkompatible Änderungen in 1.6; BoundField.label_tag enthält jetzt das label_suffix des Formulars https://docs.djangoproject.com/en/1.6/releases/1.6/#boundfield-label-tag-now-includes-the-form-s-label-suffix –

0

label_suffix funktioniert nicht für Django Admin Vordrucke, weil das Suffix ‚:‘ in den Code festgelegt ist (siehe django/contrib/admin/helpers.py).