2010-11-19 8 views

Antwort

5

Die folgende ModelAdmin Unterklasse (in Ihrem admin.py) tut, was Sie nach:

class PersonAdmin(admin.ModelAdmin): 
    radio_fields = {"group": admin.VERTICAL} 

HORIZONTAL auch möglich ist.

Von der Django docs.

+0

Ausgezeichnet. Es funktioniert perfekt. –

1

Es gibt ein snippet on djangosnippets, das scheint so etwas für Formulare mit einer Liste von Optionen zu tun, aber es scheint nicht speziell für die Admin-App zu tun. Vielleicht können Sie dies oder die darin enthaltenen Ideen nutzen, um den Rest des Weges zu erreichen.

1

Ja.

In Ihrem admin.py eine Modeladmin-Klasse erstellen:

from django.contrib import admin 
from django.forms.widgets import RadioSelect ## originally had mistake of django.forms.extras.widgets 

class SomeModelAdmin(admin.ModelAdmin): 
    formfield_overrides = { 
     models.ChoiceField : dict(widget = RadioSelect) 
    } 

admin.site.register(SomeModel, SomeModelAdmin) 

Ich bin nicht sicher, was Sie unter „Optionsfeldern“ und nicht als Auswahlbox, aber das ist, wie Sie es ändern. Sie können das Recht Widget finden Sie hier: http://docs.djangoproject.com/en/dev/ref/forms/widgets/

+0

Cool, wusste nicht über die zusätzliche Widgets-Bibliothek –

+0

Es scheint nicht zu funktionieren. Empfangen des Fehlers "Name 'RadioSelect' ist nicht definiert" –

+0

Mein schlechtes; RadioSelect befindet sich in der normalen Formularbibliothek (django.forms.widgets); nicht forms.extras.widgets –

Verwandte Themen