diff --git a/access/models.py b/access/models.py index 5c7a5c3..d8ad928 100755 --- a/access/models.py +++ b/access/models.py @@ -86,7 +86,6 @@ class CustomUserManager(BaseUserManager): email = self.normalize_email(email) user = self.model(email=email, is_staff=is_staff, is_active=is_active, first_name=first_name, - id=self.last().id + 1 if self.last() else 0, is_superuser=is_superuser, date_joined=date_joined, last_login=last_login, **extra_fields) if not password: @@ -118,7 +117,7 @@ class CustomUserManager(BaseUserManager): "recipient_list": [user.email], } - tasks = send_mail( + send_mail( **body ) return user diff --git a/csv/load_article.py b/csv/load_article.py new file mode 100644 index 0000000..2b69c4b --- /dev/null +++ b/csv/load_article.py @@ -0,0 +1,35 @@ +import os, sys, django, csv + +from django.db import IntegrityError + +sys.path.append("../") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") +django.setup() + +from library.models import Tags, ArticleSection, Article + +if __name__ == '__main__': + with open('./article/tags.csv') as article_csv: + article_reader = csv.DictReader(article_csv) + for row in article_reader: + Tags.objects.get_or_create(**row) + + with open('./article/section.csv') as article_csv: + article_reader = csv.DictReader(article_csv) + for row in article_reader: + ArticleSection.objects.get_or_create(**row) + + with open('./article/articles.csv') as article_csv: + article_reader = csv.DictReader(article_csv) + for row in article_reader: + row = dict(row) + tags = row.pop('tags', None).split("[")[1].split("]")[0].split(", ") + article, _is_create = Article.objects.get_or_create(**row) + + try: + for tag in tags: + if tags: + article.teachers.add(tags) + + except IntegrityError: + pass \ No newline at end of file diff --git a/library/models.py b/library/models.py index e17b50c..9ac367e 100755 --- a/library/models.py +++ b/library/models.py @@ -31,7 +31,7 @@ class Article(models.Model): css = models.TextField(verbose_name='CSS', blank=True, default='', help_text='Можно добавлять все, но только исправить http на https') js = models.TextField(verbose_name='JS', blank=True, default='', help_text='Удалить bootstrap, jquery и заменить http на https') date = models.DateTimeField(verbose_name='Дата публикации', default=datetime.datetime.now, editable=False) - tags = models.ManyToManyField('Tags', verbose_name='Теги', blank=True) + tags = models.ManyToManyField(to='Tags', verbose_name='Теги', blank=True) all_views = models.IntegerField(verbose_name='Всего просмотров', default=0, blank=True) def __str__(self):