Man kann choices ja in einem Tuple stopfen und in forms oder models nutzten, beispiele findet man hier: http://docs.djangoproject.com/en/dev/re ... s/#choices
Was ich meine ist sowas:
Code: Alles auswählen
TYPE_CHOICES = (
(0, "wiki page"),
(1, "cms page"),
(2, "blog entry"),
(3, "static file"),
)
Code: Alles auswählen
TYPE_WIKI = 0
TYPE_CMS = 1
TYPE_BLOG = 2
TYPE_FILE = 3
TYPE_CHOICES = (
(TYPE_WIKI, "wiki page"),
(TYPE_CMS, "cms page"),
(TYPE_BLOG, "blog entry"),
(TYPE_FILE, "static file"),
)
Eine andere Variante wäre das:
Code: Alles auswählen
TYPE_CHOICES = (
("wiki", "wiki page"),
("cms", "cms page"),
("blog", "blog entry"),
("file", "static file"),
)
OK, man könnte auch nur immer ein oder zwei Buchstaben nehmen, statt dem ganzen Wort, aber dann ist das auch nicht mehr ganz so eindeutig...
Es gibt auch situationen wo hinter diesem Typ auch z.B. verschiedene methoden einer klasse oder Funktionen stehen. Dann wäre es nett, wenn man sowas einfacher machen könnte:
Code: Alles auswählen
if item == 0:
call_wiki(foo, bar)
elif item == 1:
call_cms(foo, bar)
...
else:
raise Error...