Django TabularInline и поле из связанных моделей
используя django admin на существующей базе данных, я установил отношение "многие ко многим" между "Contact" и "Groupe" на основе промежуточной модели "Contactgroup".
В форме администратора "Группы" я добавляю таблицу в строке, чтобы показать все группы контактов. Все нормально, но я получаю ошибку при добавлении полей из связанных контактов.
model.py
class Contact(models.Model):
id = models.IntegerField(primary_key=True)
e_mail = models.TextField()
...
class Contactgroup(models.Model):
id = models.IntegerField(primary_key=True)
id_contact = models.ForeignKey(Contact, on_delete=models.CASCADE,db_column="id_contact",
blank=False, null=False, verbose_name='Contact')
id_groupe = models.ForeignKey(Groupe, on_delete=models.CASCADE,db_column="id_groupe",
blank=False, null=False, verbose_name='Groupe')
admin.py
class MyContactgroupInline(admin.TabularInline):
model = Contactgroup
fields = ['id','id_contact']
MyGroupeModelAdmin.inlines = [MyContactgroupInline,]
Затем я пытаюсь добавить поле Contact e_mail :
class MyContactgroupInline(admin.TabularInline):
model = Contactgroup
fields = ['id','id_contact', 'id_contact__e_mail']
MyGroupeModelAdmin.inlines = [MyContactgroupInline,]
Я получаю :
Неизвестное поле (поля) (id_contact__e_mail) указано для Contactgroup
я наконец-то использовал новый метод в классе MyContactgroupInline(admin.TabularInline):
@admin.display(description='E-mail')
def getEmail(self, item):
return item.id_contact.e_mail