diff --git a/achievements/migrations/0005_auto_20171205_1833.py b/achievements/migrations/0005_auto_20171205_1833.py new file mode 100644 index 0000000..9e54037 --- /dev/null +++ b/achievements/migrations/0005_auto_20171205_1833.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.6 on 2017-12-05 18:33 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('achievements', '0004_auto_20171205_1823'), + ] + + operations = [ + migrations.RenameField( + model_name='achievements', + old_name='icon', + new_name='img', + ), + migrations.RenameField( + model_name='diploma', + old_name='icon', + new_name='img', + ), + ] diff --git a/achievements/migrations/0006_auto_20171205_1836.py b/achievements/migrations/0006_auto_20171205_1836.py new file mode 100644 index 0000000..31c2e54 --- /dev/null +++ b/achievements/migrations/0006_auto_20171205_1836.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.6 on 2017-12-05 18:36 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('achievements', '0005_auto_20171205_1833'), + ] + + operations = [ + migrations.RenameField( + model_name='achievements', + old_name='user', + new_name='users', + ), + ] diff --git a/achievements/models.py b/achievements/models.py index a655013..717d86e 100644 --- a/achievements/models.py +++ b/achievements/models.py @@ -5,11 +5,8 @@ from courses.models import Course, Vertex class Achievements(models.Model): - icon = models.ImageField(verbose_name='Отображение достижения', upload_to='achives', blank=True, null=True) - user = models.ManyToManyField(to=settings.AUTH_USER_MODEL) - - def __str__(self): - return 'Студенту %s' % (self.user.username,) + img = models.ImageField(verbose_name='Отображение достижения', upload_to='achives', blank=True, null=True) + users = models.ManyToManyField(to=settings.AUTH_USER_MODEL) class Meta: verbose_name = 'Достижение' @@ -53,7 +50,7 @@ class DiplomaGen(models.Model): class Diploma(models.Model): - icon = models.ImageField(verbose_name='Иконка', upload_to='diplomas') + img = models.ImageField(verbose_name='Иконка', upload_to='diplomas') template = models.ForeignKey(to=DiplomaGen, verbose_name='Использовать шаблон', blank=True, null=True) user = models.ForeignKey(to=settings.AUTH_USER_MODEL) diff --git a/achievements/serialers.py b/achievements/serialers.py index c05d93c..17b4b69 100644 --- a/achievements/serialers.py +++ b/achievements/serialers.py @@ -6,11 +6,11 @@ class DiplomaSerializer(serializers.ModelSerializer): class Meta: model = Diploma - fields = ('icon', ) + fields = ('img', ) class AchievementsSerializer(serializers.ModelSerializer): class Meta: model = Achievements - fields = ('icon', ) \ No newline at end of file + fields = ('img', ) \ No newline at end of file diff --git a/csv/load_diploma.py b/csv/load_diploma.py index e7e199d..4530aab 100644 --- a/csv/load_diploma.py +++ b/csv/load_diploma.py @@ -1,6 +1,6 @@ import os, sys, django, csv -from django.db import IntegrityError +from django.contrib.auth import get_user_model sys.path.append("../") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") @@ -9,7 +9,18 @@ django.setup() from achievements.models import Diploma, Achievements if __name__ == '__main__': - with open('./achievements/achievements.csv') as achievements_csv: + with open('./achievement/achievement.csv') as achievements_csv: achievements_reader = csv.DictReader(achievements_csv) for row in achievements_reader: - Achievements.objects.get_or_create(**row) \ No newline at end of file + Achievements.objects.get_or_create(**row) + + with open('./achievement/user_achievement.csv') as achievements_csv: + achievements_reader = csv.DictReader(achievements_csv) + for row in achievements_reader: + a = Achievements.objects.get(id=row['id']) + a.users.add(get_user_model().objects.get(id=row['student_id'])) + + with open('./achievement/diploma.csv') as achievements_csv: + achievements_reader = csv.DictReader(achievements_csv) + for row in achievements_reader: + Diploma.objects.get_or_create(**row) \ No newline at end of file