Django исключает пользователей с одинаковой электронной почтой

У меня есть 2 модели пользователей в моем проекте django. Все устроено следующим образом: UserModel1 имеет 500 пользователей с электронной почтой и UserModel2 имеет 2000 пользователей с электронной почтой. И 300 пользователей зарегистрированы и в UserModel1 и в UserModel2. Это означает, что обе модели имеют по 300 пользователей. UserModel1 имеет 200 пользователей без учета общих пользователей, а UserModel2 имеет 1700 пользователей без учета общих пользователей.

Я хотел сделать запрос, который получает всех пользователей из UserModel2, которые не зарегистрированы в UserModel1. То есть я хочу получить 1700 пользователей, которые не являются общими. После некоторых исследований я остановился на следующем:

from django.db.models import Q

not_matching = UserModel2.objects.filter(~Q((email__in=UserModel1.objects.values('email')))

но безуспешно, есть идеи?

Вернуться на верх