alphabet.py: class A(models.Model): type = models.CharField(max_length=1, null=True, blank=True) a1 = models.CharField(max_length=50) a2 = models.CharField(max_length=50) a3 = models.CharField(max_length=50) class AAdmin(admin.ModelAdmin): list_display = ('id', 'a1', 'a2', 'a3',) class B(A): b1 = models.CharField(max_length=50) b2 = models.CharField(max_length=50) b3 = models.CharField(max_length=50) class BAdmin(admin.ModelAdmin): list_display = ('id', 'a1', 'a2', 'a3', 'b1', 'b2', 'b3',) def save_model(self, request, obj, form, change): obj.type = B class C(A): c1 = models.CharField(max_length=50) c2 = models.CharField(max_length=50) c3 = models.CharField(max_length=50) class CAdmin(admin.ModelAdmin): list_display = ('id', 'a1', 'a2', 'a3', 'c1', 'c2', 'c3',) def save_model(self, request, obj, form, change): obj.type = C
допустим я через админку создал С c id = 1 и B c id = 2.
если я зайду в таблицу A, то увижу там получившиеся строки.
если зайти на страницу редактирования объекта С с id = 1 через таблицу A, то у меня не будет возможности видеть и редактировать элементы c1, c2, c3.
ссылка в браузере будет выглядеть следующим образом:
http://127.0.0.1:8000/admin/alphabet/A/1/
следующего вида получается адрес страницы редактирования объекта B с id =2 через таблицу A:
http://127.0.0.1:8000/admin/alphabet/A/2/
для B у нас соответственно не будут доступны строки b1, b2, b3
как разрешить видеть и редактировать эти вышеописанные строки?
или как сделать переадресацию типа:
http://127.0.0.1:8000/admin/alphabet/<type>/<id>/