From 5fff346720bdffe215a1d05b5e848d18e03456ae Mon Sep 17 00:00:00 2001 From: vFeng <1914007838@qq.com> Date: Tue, 6 May 2025 14:19:40 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=8D=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=88=9B=E5=BB=BAlookup=E7=9A=84=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20not=5Fauto=5Flookup=5Ffields?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vFeng <1914007838@qq.com> --- backend/dvadmin/utils/filters.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/dvadmin/utils/filters.py b/backend/dvadmin/utils/filters.py index da808ace31..569dddc8be 100644 --- a/backend/dvadmin/utils/filters.py +++ b/backend/dvadmin/utils/filters.py @@ -283,6 +283,8 @@ class CustomDjangoFilterBackend(DjangoFilterBackend): if (f.name == "id") or not isinstance(f, models.AutoField) and not (getattr(f.remote_field, "parent_link", False)) + and f.name not in (getattr(view, "not_auto_lookup_fields", [])) + ] @classmethod -- Gitee From 77b51d8cf02d85811948fc731f72c9f6dbd0b1b4 Mon Sep 17 00:00:00 2001 From: vFeng <1914007838@qq.com> Date: Tue, 6 May 2025 14:20:38 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=8D=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=88=9B=E5=BB=BAlookup=E7=9A=84=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20not=5Fauto=5Flookup=5Ffields?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vFeng <1914007838@qq.com> --- backend/dvadmin/utils/viewset.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backend/dvadmin/utils/viewset.py b/backend/dvadmin/utils/viewset.py index b85007a0a0..90d0be555c 100644 --- a/backend/dvadmin/utils/viewset.py +++ b/backend/dvadmin/utils/viewset.py @@ -32,6 +32,8 @@ class CustomModelViewSet(ModelViewSet, ImportSerializerMixin, ExportSerializerMi (3)filter_fields = '__all__' 默认支持全部model中的字段查询(除json字段外) (4)import_field_dict={} 导入时的字段字典 {model值: model的label} (5)export_field_label = [] 导出时的字段 + (6)not_auto_lookup_fields = [] 不进行自动创建lookup的字段 + """ values_queryset = None ordering_fields = '__all__' @@ -43,6 +45,8 @@ class CustomModelViewSet(ModelViewSet, ImportSerializerMixin, ExportSerializerMi permission_classes = [CustomPermission] import_field_dict = {} export_field_label = {} + not_auto_lookup_fields = [] + def filter_queryset(self, queryset): for backend in set(set(self.filter_backends) | set(self.extra_filter_class or [])): -- Gitee