У меня есть две модели django (упрощенно):
class Product(models.Model):
name = models.TextField()
price = models.IntegerField()
class Invoice(models.Model):
company = models.TextField()
customer = models.TextField()
products = models.ManyToManyField(Product)
Я хотел бы видеть релевантные продукты в виде удобной таблицы (полей продуктов) на странице счетов-фактур в admin и иметь возможность ссылаться на отдельные соответствующие страницы продуктов.
Моей первой мыслью было использование встроенной функции администратора, но django использовал виджет для каждого выбранного продукта. Это не связано со страницами продукта, а также, поскольку у меня есть тысячи продуктов, и каждое поле выбора независимо загружает все названия продуктов, оно быстро становится неоправданно медленным.
Итак, я перешел к использованию ModelAdmin.filter_horizontal, как предлагалось здесь , в котором использовался один экземпляр другого виджета, где у вас есть список всех продуктов и другой список связанных продуктов, и вы можете добавить \ убрать продукты в последнем от первого. Это решило медлительность, но все равно не отображает соответствующие поля Product и не может быть связано.
Итак, что мне делать? настроить вид? переопределить ModelForms? Я погуглил и не смог найти ни одного примера такого кода ...