diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-11-28 14:32:33 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-11-28 14:32:33 +0100 |
commit | 1f5e9d5ae4895d3b96a6a2df55a7baa98c4fedc3 (patch) | |
tree | 381cce06f8a476ee7e5355865c34bf478722aa68 /ishtar_common/management | |
parent | 683611fe5f72fe1af0bab6f8682e0809b4c0b7fb (diff) | |
download | Ishtar-1f5e9d5ae4895d3b96a6a2df55a7baa98c4fedc3.tar.bz2 Ishtar-1f5e9d5ae4895d3b96a6a2df55a7baa98c4fedc3.zip |
Commands - regenerate label: options to specify app name and model name
Diffstat (limited to 'ishtar_common/management')
-rw-r--r-- | ishtar_common/management/commands/regenerate_search_vector_cached_label.py | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/ishtar_common/management/commands/regenerate_search_vector_cached_label.py b/ishtar_common/management/commands/regenerate_search_vector_cached_label.py index 59e37d75b..404811acf 100644 --- a/ishtar_common/management/commands/regenerate_search_vector_cached_label.py +++ b/ishtar_common/management/commands/regenerate_search_vector_cached_label.py @@ -24,16 +24,32 @@ from django.core.management.base import BaseCommand from django.apps import apps +APPS = ['ishtar_common', 'archaeological_operations', + 'archaeological_context_records', 'archaeological_finds', + 'archaeological_warehouse'] + + class Command(BaseCommand): args = '' help = 'Regenerate cached labels and search vectors' + def add_arguments(self, parser): + parser.add_argument('app_name', nargs='?', default=None, + choices=APPS) + parser.add_argument('model_name', nargs='?', default=None) + def handle(self, *args, **options): - for app in ['ishtar_common', 'archaeological_operations', - 'archaeological_context_records', - 'archaeological_finds', 'archaeological_warehouse']: + limit = options['app_name'] + model_name = options['model_name'] + if model_name: + model_name = model_name.lower() + for app in APPS: + if limit and app != limit: + continue print(u"* app: {}".format(app)) for model in apps.get_app_config(app).get_models(): + if model_name and model.__name__.lower() != model_name: + continue if model.__name__.startswith('Historical'): continue if not bool( |