Add filter_attribute_type (all / exact)
This commit is contained in:
parent
8444a48c26
commit
44f20c102b
|
|
@ -1,3 +1,4 @@
|
||||||
|
from users.models import User
|
||||||
from .models.module import Module, ModuleLevel, ModuleCategory
|
from .models.module import Module, ModuleLevel, ModuleCategory
|
||||||
|
|
||||||
def analyze_module_meta_titles():
|
def analyze_module_meta_titles():
|
||||||
|
|
@ -17,10 +18,15 @@ def analyze_module_meta_titles():
|
||||||
print(f"{i}.: {set(leafs)}")
|
print(f"{i}.: {set(leafs)}")
|
||||||
|
|
||||||
|
|
||||||
def create_default_levcels_and_categories():
|
def create_default_levels_and_categories():
|
||||||
|
ModuleLevel.objects.get_or_create(name=f"Alle Lehrjahre", filter_attribute_type="all")
|
||||||
|
|
||||||
for lehrjahr in range(1,4):
|
for lehrjahr in range(1,4):
|
||||||
module_category, created = ModuleLevel.objects.get_or_create(name=f"{lehrjahr}. Lehrjahr")
|
module_category, created = ModuleLevel.objects.get_or_create(name=f"{lehrjahr}. Lehrjahr")
|
||||||
|
|
||||||
|
|
||||||
|
ModuleCategory.objects.get_or_create(name=f"Alle Lernfelder", filter_attribute_type="all")
|
||||||
|
|
||||||
for category in range(1, 10):
|
for category in range(1, 10):
|
||||||
ModuleCategory.objects.get_or_create(name=f"Lernfeld {category}")
|
ModuleCategory.objects.get_or_create(name=f"Lernfeld {category}")
|
||||||
|
|
||||||
|
|
@ -32,21 +38,23 @@ def categorize_modules():
|
||||||
modules.update(level=level)
|
modules.update(level=level)
|
||||||
|
|
||||||
for category in ModuleCategory.objects.all():
|
for category in ModuleCategory.objects.all():
|
||||||
modules = Module.objects.filter(category__isnull=True, meta_title__contains=type.name)
|
modules = Module.objects.filter(category__isnull=True, meta_title__contains=category.name)
|
||||||
print(f"{category.name}: {modules.count()}")
|
print(f"{category.name}: {modules.count()}")
|
||||||
modules.update(category=category)
|
modules.update(category=category)
|
||||||
|
|
||||||
|
|
||||||
def uncategorize_modules():
|
def uncategorize_modules():
|
||||||
|
User.objects.all().update(last_module_level=None)
|
||||||
|
#
|
||||||
ModuleCategory.objects.all().delete()
|
ModuleCategory.objects.all().delete()
|
||||||
ModuleLevel.objects.all().delete()
|
ModuleLevel.objects.all().delete()
|
||||||
|
|
||||||
def delete_unused_levels():
|
def delete_unused_levels():
|
||||||
for level in ModuleLevel.objects.all():
|
for level in ModuleLevel.objects.filter(filter_attribute_type="exact"):
|
||||||
if not level.module_set.exists():
|
if not level.module_set.exists():
|
||||||
level.delete()
|
level.delete()
|
||||||
|
|
||||||
def delete_unused_categories():
|
def delete_unused_categories():
|
||||||
for category in ModuleCategory.objects.all():
|
for category in ModuleCategory.objects.filter(filter_attribute_type="exact"):
|
||||||
if not category.module_set.exists():
|
if not category.module_set.exists():
|
||||||
category.delete()
|
category.delete()
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
from django.core.management import BaseCommand
|
from django.core.management import BaseCommand
|
||||||
from books.categorize_modules import categorize_modules, delete_unused_levels, uncategorize_modules, \
|
from books.categorize_modules import categorize_modules, delete_unused_levels, uncategorize_modules, \
|
||||||
delete_unused_categories
|
delete_unused_categories
|
||||||
from books.categorize_modules import create_default_levcels_and_categories
|
from books.categorize_modules import create_default_levels_and_categories
|
||||||
|
|
||||||
|
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
def handle(self, *args, **options):
|
def handle(self, *args, **options):
|
||||||
self.stdout.write("Categorizing modules")
|
self.stdout.write("Categorizing modules")
|
||||||
uncategorize_modules()
|
uncategorize_modules()
|
||||||
create_default_levcels_and_categories()
|
create_default_levels_and_categories()
|
||||||
categorize_modules()
|
categorize_modules()
|
||||||
delete_unused_levels()
|
delete_unused_levels()
|
||||||
delete_unused_categories()
|
delete_unused_categories()
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
from django.core.management import BaseCommand
|
from django.core.management import BaseCommand
|
||||||
from books.categorize_modules import categorize_modules, create_default_levcels_and_categories
|
from books.categorize_modules import categorize_modules, create_default_levels_and_categories
|
||||||
|
|
||||||
|
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
def handle(self, *args, **options):
|
def handle(self, *args, **options):
|
||||||
self.stdout.write("Create defaut categories")
|
self.stdout.write("Create defaut categories")
|
||||||
create_default_levcels_and_categories()
|
create_default_levels_and_categories()
|
||||||
self.stdout.write("Finish")
|
self.stdout.write("Finish")
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue