Django admin - добавление дополнительных полей с помощью ModelForm другой модели
Можно ли добавить дополнительные поля в Django Admin, используя ModelForm другой модели?
Вот мои модели:
class ModelOne(Model):
field_1_1 = models.SmallIntegerField()
field_1_2 = models.ForeignKey(AnotherMyModel)
field_1_3 = models.BooleanField(default=True)
field_1_4 = models.ManyToManyField(to="TestModel", through="ModelTwo")
class ModelTwo(Model):
field_2_1 = models.ForeignKey(MyModel, on_delete=models.CASCADE)
field_2_2 = models.ForeignKey(ModelOne, on_delete=models.CASCADE)
field_2_3 = models.BooleanField(default=True)
А администратор выглядит так:
class ModelOneAdmin(admin.TabularInline):
model = ModelOne
form = forms.ModelTwoForm
fields = ('field_1_1', 'field_1_2', 'field_1_3', 'field_2_1', 'field_2_3')
Вот форма вместо этого:
class ModelTwoForm(ModelForm):
class Meta:
model = ModelTwo
fields = "__all__"
Этот код вызывает следующую ошибку:
FieldError: Unknown field(s) (field_2_1) specified for ModelOneAdmin
Я знаю, что это случай шаблона inline, но я не могу его использовать, потому что ModelOneAdmin уже находится внутри модели inline (и я не хочу включать дополнительный пакет python для достижения этого).
Есть ли способ решить эту проблему и достичь поставленной цели?
(Работа с Python2.7 и Django 1.11)