fix: 解决用户列表查询过滤条件无效问题

This commit is contained in:
zhangshaohu 2024-03-20 15:56:01 +08:00
parent 700d494dcc
commit fa90451a8f
2 changed files with 5 additions and 3 deletions

View File

@ -502,7 +502,8 @@ class UserInstanceSerializer(ApiMixin, serializers.ModelSerializer):
class UserManageSerializer(serializers.Serializer):
class Query(ApiMixin, serializers.Serializer):
email_or_username = serializers.CharField(required=False, error_messages=ErrMessage.char("邮箱或者用户名"))
email_or_username = serializers.CharField(required=False, allow_null=True,
error_messages=ErrMessage.char("邮箱或者用户名"))
@staticmethod
def get_request_params_api():
@ -528,7 +529,8 @@ class UserManageSerializer(serializers.Serializer):
email_or_username = self.data.get('email_or_username')
query_set = QuerySet(User)
if email_or_username is not None:
query_set = query_set.filter(Q(username=email_or_username) | Q(email=email_or_username))
query_set = query_set.filter(
Q(username__contains=email_or_username) | Q(email__contains=email_or_username))
return query_set
def list(self, with_valid=True):

View File

@ -226,7 +226,7 @@ class UserManage(APIView):
compare=CompareConstants.AND))
def get(self, request: Request, current_page, page_size):
d = UserManageSerializer.Query(
data={'name': request.query_params.get('name', None), 'desc': request.query_params.get("desc", None),
data={'email_or_username': request.query_params.get('email_or_username', None),
'user_id': str(request.user.id)})
return result.success(d.page(current_page, page_size))