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)

Вернуться на верх