Миграции статей

feature/fix_generate_pass
Andrey 8 years ago
parent 741ed68428
commit 3d878cc7dc
  1. 3
      access/models.py
  2. 35
      csv/load_article.py
  3. 2
      library/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

@ -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

@ -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):

Loading…
Cancel
Save