Django TabularInline and field from related models
using django admin on an existing database i set up a many to many relation between "Contact" and "Groupe" based on a intermediate model "Contactgroup".
In the "Group" Admin form i add a tabular in line to show all Contactgroup. It's OK but i get on error while adding fields from related Contact.
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,]
Then i try to add the Contact e_mail field :
class MyContactgroupInline(admin.TabularInline):
model = Contactgroup
fields = ['id','id_contact', 'id_contact__e_mail']
MyGroupeModelAdmin.inlines = [MyContactgroupInline,]
I get :
Unknown field(s) (id_contact__e_mail) specified for Contactgroup
i finnaly used a new method in class MyContactgroupInline(admin.TabularInline):
@admin.display(description='E-mail')
def getEmail(self, item):
return item.id_contact.e_mail