summaryrefslogtreecommitdiff
path: root/ishtar_common/models_common.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models_common.py')
-rw-r--r--ishtar_common/models_common.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py
index 5e6e3af8f..151ab5650 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -37,7 +37,7 @@ from django.core.serializers import serialize
from django.urls import reverse, NoReverseMatch
from django.core.validators import validate_slug
from django.db import connection, transaction, OperationalError, IntegrityError
-from django.db.models import Q, Count, Max
+from django.db.models import Q, Count, Max, fields
from django.db.models.signals import post_save, post_delete, m2m_changed
from django.template import loader
from django.template.defaultfilters import slugify
@@ -47,8 +47,9 @@ from ishtar_common.utils import (
ugettext_lazy as _,
pgettext_lazy,
get_image_path,
+ get_columns_from_class,
human_date,
- reverse_list_coordinates
+ reverse_list_coordinates,
)
from simple_history.models import HistoricalRecords as BaseHistoricalRecords
from simple_history.signals import (
@@ -4249,6 +4250,17 @@ class MainItem(ShortMenuItem, SerializeItem):
def class_verbose_name(cls):
return cls._meta.verbose_name
+ @classmethod
+ def get_columns(cls, table_cols_attr="TABLE_COLS", dict_col_labels=True):
+ """
+ :param table_cols_attr: "TABLE_COLS" if not specified
+ :param dict_col_labels: (default: True) if set to False return list matching
+ with table_cols list
+ :return: (table_cols, table_col_labels)
+ """
+ return get_columns_from_class(cls, table_cols_attr=table_cols_attr,
+ dict_col_labels=dict_col_labels)
+
def get_search_url(self):
if self.SLUG:
return reverse(self.SLUG + "_search")