From be98a6fdcfe2a43913598ebc84757ab9a88b4eab Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Wed, 2 Sep 2026 09:10:18 +0800 Subject: [PATCH] fix: enhance username filtering in application chat queries to include nick names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1075482@tapd-62980211 --user=王孝刚 【github#6844】对话记录按用户检索与显示不匹配 https://www.tapd.cn/62980211/s/2062630 --- apps/application/serializers/application_chat.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/application/serializers/application_chat.py b/apps/application/serializers/application_chat.py index dd9464a9ba5..e9c087feede 100644 --- a/apps/application/serializers/application_chat.py +++ b/apps/application/serializers/application_chat.py @@ -104,12 +104,15 @@ def get_query_set(self, select_ids=None): } if 'abstract' in self.data and self.data.get('abstract') is not None: base_query_dict['application_chat.abstract__icontains'] = self.data.get('abstract') - if 'username' in self.data and self.data.get('username') is not None: - base_query_dict['application_chat.asker__username__icontains'] = self.data.get('username') - if select_ids is not None and len(select_ids) > 0: base_query_dict['application_chat.id__in'] = select_ids base_condition = Q(**base_query_dict) + if 'username' in self.data and self.data.get('username') is not None: + username = self.data.get('username') + base_condition = base_condition & ( + Q(**{'application_chat.asker__username__icontains': username}) | + Q(**{'application_chat.asker__nick_name__icontains': username}) + ) min_star_query = None min_trample_query = None if 'min_star' in self.data and self.data.get('min_star') is not None: