From 02f6b29e5fb1dac0a309d4ab7076ec6ae8c4a98a Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 10 Feb 2021 13:03:10 +0000 Subject: [PATCH] created TreeTag model, fixes for addtaxonomy command --- core/management/commands/addtaxonomy.py | 10 ++++++++-- core/management/commands/addtestdata.py | 1 - core/models.py | 8 ++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/core/management/commands/addtaxonomy.py b/core/management/commands/addtaxonomy.py index 11bf510..d1d84fe 100644 --- a/core/management/commands/addtaxonomy.py +++ b/core/management/commands/addtaxonomy.py @@ -3,6 +3,8 @@ import logging from django.core.management.base import BaseCommand from django.conf import settings +from core.models import TreeTag + class Command(BaseCommand): @@ -11,16 +13,20 @@ class Command(BaseCommand): def handle(self, *args, **kwargs): print(self.help) + print("Deleting existing instances") + TreeTag.objects.all().delete() + file_path = settings.BASE_DIR + '/../datasets/' + settings.TAXONOMY_FILE counter = 0 with open(file_path, 'rt') as data_file: print(f"Reading from {settings.TAXONOMY_FILE}") for line in data_file.readlines(): try: - tag = TagModel.objects.create(name=line) + tag = TreeTag.objects.create(name=line) counter += 1 + print('.', end='') logging.debug(f"{tag} created from {line}") except Exception as e: logging.error(f"{type(e)} while creating tags from {settings.TAXONOMY_FILE}") - print(f"{counter} new TagModel instances created") + print(f"\n{counter} new TreeTag instances created") print('Shutting down\n') diff --git a/core/management/commands/addtestdata.py b/core/management/commands/addtestdata.py index 32b6fa9..7618363 100644 --- a/core/management/commands/addtestdata.py +++ b/core/management/commands/addtestdata.py @@ -27,7 +27,6 @@ class Command(BaseCommand): def handle(self, *args, **kwargs): print("Creating fake data to populate database") - # start faker fake = Faker() Faker.seed(0) diff --git a/core/models.py b/core/models.py index 6f4da0b..2fccfe7 100644 --- a/core/models.py +++ b/core/models.py @@ -2,6 +2,8 @@ from django.db import models from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager from django.contrib.auth.models import PermissionsMixin +from tagulous.models import TagTreeModel + from companies.models import Company # Create your models here. @@ -71,3 +73,9 @@ class CustomUser(AbstractBaseUser, PermissionsMixin): verbose_name = 'Usuario' verbose_name_plural = 'Usuarios' + +class TreeTag(TagTreeModel): + class TagMeta: + # initial = "food/eating, food/cooking, gaming/football" + force_lowercase = True + # autocomplete_view = 'myapp.views.hobbies_autocomplete'