Search code examples
pythondjangodjango-queryset

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


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.


Solution

  • 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'))