Неподдерживаемый тип(ы) операнда(ов) для @: 'Q' и 'Q' в Django RestFramework

Я пытаюсь сделать login api с использованием django rest framework и при выполнении сериализации login api столкнулся с ошибкой "unsupported operand type(s) for @: 'Q' и 'Q'" внутри функции validate. Я не могу понять почему возникает эта ошибка и помогите мне решить эту проблему

Это мой файл model.py

class User(models.Model):
    first_name=models.CharField(max_length=100, null=True)
    last_name=models.CharField(max_length=100, null=True)
    username = models.CharField(max_length=100, null=False,unique =True)
    email = models.EmailField(max_length=100, null=False, unique =True)
    # work_email = models.EmailField(max_length=100,unique =True)
    password = models.CharField(max_length=50, null=False)
    phone= models.CharField(max_length=100, null=True,unique =True)
    phone2=models.CharField(max_length=100, null=True,unique =True)
    is_login = models.BooleanField(null=True, default=False)
    is_verified=models.BooleanField(null=True)
    is_active=models.BooleanField(null=True)
    token = models.CharField(max_length=100, null=True, default="")
    user_type_id=models.ForeignKey(UserType, on_delete=models.CASCADE,null=True)
    created_at=models.DateField(null=True)
    updated_at=models.DateField(null=True)

    def __str__(self):
        return "{} -{}".format(self.username, self.email)

и вот файл serializers.py

from django.db.models import Q, fields
from django.db.models.base import Model # for queries

class UserLoginSerializer(serializers.ModelSerializer):
    username=serializers.CharField()
    password=serializers.CharField()
    token=serializers.CharField(required=False, read_only=True)

    def validate(self,data):
        # user,email,password validator
        username=data.get("username",None)
        password=data.get("password",None)

        if not username and password:
            raise ValidationError('Detail not enter')
        user=None

        # if email is passed in username
        if '@' in username:
            user= User.objects.filter(Q(email=username) & Q(password=password)).distinct()

            if not user.exists():
                raise ValidationError("User credintials are not correct.")
            user= User.objects.get(email=username)
        else:
            user=User.objects.filter(Q(username=username)@ Q(password=password)).distinct()

            if not user.exists():
                raise ValidationError("User credentials are not correct.")
            user = User.objects.get(username=username)

        if user.is_login:
            raise ValidationError("User already logged in.")
        user.is_login = True
        data['token'] = uuid4()
        user.token = data['token']
        user.save()
        return data

    class Meta:
        model = User
        fields = (
            'username',
            'password',
            'token',
        )

        read_only_fields = (
            'token',
        )
Вернуться на верх