Background: I have the following models for a visitor management app. Each site can have multiple visitors and each visitor can visit multiple sites. I am unable to find a way to show a list of visitors on each site or show a list of sites a visitor has visited. I have removed unnecessary fields.
.models.py
class Site(models.Model):
name = models.CharField(max_length=100, unique=True)
accomodation = models.BooleanField(default=False)
visitors = models.ManyToManyField('Visitor', blank=True)
class Visitor(models.Model):
name = models.CharField(max_length=50, null=False, blank=False)
email = models.EmailField(max_length=200, null=False, blank=False, unique=True)
...
admin.py
class AdminArea(admin.AdminSite):
vms_admin = AdminArea(name='vms_admin')
@admin.register(Site, site=vms_admin)
class SiteAdmin(admin.ModelAdmin):
fieldsets = (*removed*)
list_display = [*removed*]
list_filter = (*removed*)
@admin.register(Visitor, site=vms_admin)
class VisitorAdmin(admin.ModelAdmin):
fieldsets = (*removed*)
list_display = [*removed*]
list_filter = (*removed*)
Django Admin
This is how the list of sites looks: Django Admin Site List
This is how the list of visitors look like: Django Admin Visitor List
Question How do I show the list of visitors for each site and vice versa? For example: If I click on Gingin Gravity Precinct, I want to see the list of visitors associated with it, in a table, below "site details". Similar to the list of visitors shown, but specific to the site. Django Admin Specific Site