Django tabularInline 'categories.Category_children_ids' имеет более одного ForeignKey к 'categories.Category'. Вы должны указать атрибут 'fk_name'.
Я хочу создать вложенные категории, модель работает нормально.
class Category(models.Model):
category_name = models.CharField(max_length=100)
children_ids = models.ManyToManyField(
"Category", blank=True, related_name="categories"
)
...etc
но, когда я добавляю inline для панели администратора
class ChildrensInline(admin.TabularInline):
model = Category.children_ids.through
компилятор выдает ошибку: 'categories.Category_children_ids' имеет более одного ForeignKey к 'categories.Category'. Вы должны указать атрибут 'fk_name'.
Я также пробовал fk_name='categories', и название колонок в таблице Category_children_ids, но это не работает
Установите fk_name='from_category
или fk_name='to_category'
, в зависимости от ваших потребностей:
class ChildrensInline(admin.TabularInline):
model = Category.children_ids.through
fk_name='from_category' # or: 'to_category'
Обычно, быстрый способ выяснить такие вещи - это (временно) поместить простой print(model.__dict__)
практически в любом месте вашего кода, например, здесь, сразу после второй строки. Тогда все поля model
будут показаны в консольном выводе.