From d2da446009520be588e172720456fcc61c42bcdc Mon Sep 17 00:00:00 2001 From: Pavel Date: Mon, 12 Aug 2024 22:32:16 +0300 Subject: [PATCH] update: structure --- src/helpers/admin/__init__.py | 0 src/helpers/admin/model.py | 15 +++++++++++++++ src/helpers/models/fields/__init__.py | 0 .../models/{fields.py => fields/json_field.py} | 0 src/requirements.txt | 3 ++- 5 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 src/helpers/admin/__init__.py create mode 100644 src/helpers/admin/model.py create mode 100644 src/helpers/models/fields/__init__.py rename src/helpers/models/{fields.py => fields/json_field.py} (100%) diff --git a/src/helpers/admin/__init__.py b/src/helpers/admin/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/helpers/admin/model.py b/src/helpers/admin/model.py new file mode 100644 index 0000000..924ca33 --- /dev/null +++ b/src/helpers/admin/model.py @@ -0,0 +1,15 @@ +from django.contrib import admin +from django.db import models + +from djangoql.admin import DjangoQLSearchMixin + + +class CustomModelAdmin(DjangoQLSearchMixin, admin.ModelAdmin): + def get_list_display(self, request): + exclude = self.exclude if self.exclude else [] + fields = [ + field.name for field in self.model._meta.get_fields() if + not isinstance(field, (models.ManyToManyField, models.ManyToOneRel, models.ForeignKey)) + and field.name not in exclude + ] + return fields diff --git a/src/helpers/models/fields/__init__.py b/src/helpers/models/fields/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/helpers/models/fields.py b/src/helpers/models/fields/json_field.py similarity index 100% rename from src/helpers/models/fields.py rename to src/helpers/models/fields/json_field.py diff --git a/src/requirements.txt b/src/requirements.txt index f17f7c1..8bdb446 100644 --- a/src/requirements.txt +++ b/src/requirements.txt @@ -2,4 +2,5 @@ uvicorn==0.27.1 fastapi==0.109.0 Django==5.0.2 psycopg2 -redis==4.6.0 \ No newline at end of file +redis==4.6.0 +djangoql==0.18.1 \ No newline at end of file