summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index fdeba5f26..19c432053 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -20,6 +20,8 @@
"""
Models description
"""
+import sys
+
from bs4 import BeautifulSoup
import copy
import datetime
@@ -862,6 +864,27 @@ class RelationsViews(models.Model):
return relation_view_update.delay(sender, kwargs)
@classmethod
+ def _get_base_children(cls):
+ raise NotImplemented()
+
+ @classmethod
+ def regenerate_all(cls, quiet=True):
+ cls.check_engine()
+ profile = get_current_profile(force=True)
+ if profile.parent_relations_engine == "V":
+ return
+ cls.objects.filter(pk__isnull=False).delete()
+ base_children = list(cls._get_base_children())
+ total = len(base_children)
+ for idx, cr_id in enumerate(base_children):
+ if not quiet:
+ sys.stdout.write(f"Processing: {idx + 1} / {total}\t\t{cr_id}\r")
+ sys.stdout.flush()
+ cls.update(cr_id)
+ if not quiet:
+ sys.stdout.write("\n")
+
+ @classmethod
def create_table(cls):
raise NotImplemented()