Django admin with inlines, 1 model with 2 foreigns keys to 2 different models -
i have 3 models total. main model has 2 foreign keys 2 different models. relationships setup many-to-one. when try customize admin, cannot allow me edit main character model , have 2 inlines (universe , series) show up.
what simplest way? there seams ambiguity since 2 foreign fields throwing off. have scoured documentation must have missed something; have gotten more complex many-to-many working in admin, bit odd.
here models:
class characterseries(models.model): name = models.charfield(max_length=200) def __unicode__(self): return self.name class characteruniverse(models.model): name = models.charfield(max_length=200) def __unicode__(self): return self.name class character(models.model): name = models.charfield(max_length=200) rating = models.decimalfield(max_digits=3, decimal_places=1) universe = models.foreignkey(characteruniverse) series = models.foreignkey(characterseries) def __unicode__(self): return self.name
here admin:
from django.contrib import admin .models import character, characteruniverse, characterseries # register models here. class seriesinline(admin.tabularinline): model = character class universeinline(admin.tabularinline): model = character class characterdmin(admin.modeladmin): inlines = [ universeinline, seriesinline, ] admin.site.register(character, characteradmin)
update
the code posted earlier wrong! didn't read models carefully. sorry that.
if want create characterseries
, characteruniverse
while create/edit character
, this:
from django.contrib import admin .models import character, characteruniverse, characterseries # no need define `modeladmin` classes admin.site.register(character) admin.site.register(characteruniverse) admin.site.register(characterseries)
the code above give +
(plus) sign after universe
, series
fields. create characteruniverse
, characterseries
objects on fly.
Comments
Post a Comment