[Fixed]-Enabling Django Admin Filters on Many-to-Many Fields

9๐Ÿ‘

โœ…

I believe in a case like this, you could make a trivial through model for your M2M relation, and then use the normal syntax to follow the (now explicit) ForeignKeys. Something like:

class Address(models.Model):
    blah

class MemberData(models.Model):
    user = models.ForeignKey(User)
    addresses = models.ManyToManyField(Address,through='MemberAddress')

class MemberAddress(models.Model):
    member = models.ForeignKey(MemberData)
    address = models.ForeignKey(Address)

and in the admin:

class AddressAdmin(admin.ModelAdmin):
    model = Address
    list_filter = ['memberaddress_set__member__user']

4๐Ÿ‘

Iโ€™m using 1.5 and list_filter = ['memberdata__user'] seems like it would work.

๐Ÿ‘คAaron McMillin

Leave a comment