Ошибка Django Model class ru_taggit.Ru_tag doesn't declare
Пишу на python-3.7.6, использую Django==2.1.5. Попытался установить транслитератор Unidecoder для тегов. Однако, при создании миграций выдает ошибку:
RuntimeError: Model class ru_taggit.Ru_tag doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
Файл ru_taggit.py:
from django.template.defaultfilters import slugify
from taggit.models import Tag, TaggedItem
from unidecode import unidecode
class RuTag(Tag):
class Meta:
proxy = True
def slugify(self, tag, i=None):
return slugify(unidecode(self.name))[:128]
class RuTaggedItem(TaggedItem):
class Meta:
proxy = True
@classmethod
def tag_model(cls):
return RuTag
Файл models.py:
from django.db import models
from django.urls import reverse
from django.contrib.auth.models import User
from datetime import datetime, timezone
from taggit.managers import TaggableManager
from ru_taggit import RuTaggedItem
class TodoItem(models.Model):
PRIORITY_HIGH = 1
PRIORITY_MEDIUM = 2
PRIORITY_LOW = 3
PRIORITY_CHOICES = [
(PRIORITY_HIGH, "Высокий приоритет"),
(PRIORITY_MEDIUM, "Средний приоритет"),
(PRIORITY_LOW, "Низкий приоритет"),
]
description = models.CharField(max_length=64)
is_completed = models.BooleanField("выполнено", default=False)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
owner = models.ForeignKey(
User,
on_delete=models.CASCADE,
related_name='tasks')
priority = models.IntegerField("Приоритет", choices=PRIORITY_CHOICES, default=PRIORITY_MEDIUM)
tags = TaggableManager(through=RuTaggedItem)
def delta_time(self):
delta = (datetime.now(timezone.utc) - self.created).days
print(delta)
return delta
def __str__(self):
return self.description.lower()
def get_absolute_url(self):
return reverse("tasks:details", args=[self.pk])
class Meta:
ordering = ('-created', )
файл settings.py:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'tasks.apps.TasksConfig',
'accounts.apps.AccountsConfig',
'taggit',
]
Пробовал добавить в INSTALLED_APPS Unidecode - без результата. пробовал добавить сам файл ru_taggit.py - выдает другую ошибку:
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
upd. Пробовал посторочно комментировать весь файл. Джанго ругается на все. Также проверял файл wsgi.py. Все так ж, как советуют делать при схожих ошибках. Эффекта по-прежнему 0.