Django filter many to many field in admin?

There is a formfield_for_manytomany. Usage is similar to the answer given by defuz.

ModelAdmin.formfield_for_manytomany(db_field, request, **kwargs)¶

Like the formfield_for_foreignkey method, the formfield_for_manytomany method can be overridden to change the
default formfield for a many to many field. For example, if an owner
can own multiple cars and cars can belong to multiple owners – a many
to many relationship – you could filter the Car foreign key field to
only display the cars owned by the User:

class MyModelAdmin(admin.ModelAdmin):
    def formfield_for_manytomany(self, db_field, request, **kwargs):
        if db_field.name == "cars":
            kwargs["queryset"] = Car.objects.filter(owner=request.user)
        return super(MyModelAdmin, self).formfield_for_manytomany(db_field, request, **kwargs)

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)