Django - how do I filter or exclude by two identical fields?

46 Views Asked by At

We are using Django for our website. I have a query for model User and I want to exclude users which have two identical fields - in this case id and username. So if the id==username, I want to exclude them. How do I do it?

The query looks like:

users = User.objects.filter(...)

And I want to add .exclude(...) where the id and username fields are equal.

1

There are 1 best solutions below

0
willeM_ Van Onsem On BEST ANSWER

You can refer to a field with an F expression [Django-doc], so:

from django.db.models import F

users = User.objects.exclude(id=F('username'))