From f8c0e75aadc2b1403c9c1577be3616f9193c2dd2 Mon Sep 17 00:00:00 2001 From: Andrey Date: Tue, 5 Dec 2017 18:29:22 +0300 Subject: [PATCH] create map --- .../migrations/0003_auto_20171205_1821.py | 24 +++++++++++++++++ .../migrations/0004_auto_20171205_1823.py | 26 +++++++++++++++++++ achievements/models.py | 5 ++-- csv/load_diploma.py | 15 +++++++++++ 4 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 achievements/migrations/0003_auto_20171205_1821.py create mode 100644 achievements/migrations/0004_auto_20171205_1823.py create mode 100644 csv/load_diploma.py diff --git a/achievements/migrations/0003_auto_20171205_1821.py b/achievements/migrations/0003_auto_20171205_1821.py new file mode 100644 index 0000000..1c1fe9c --- /dev/null +++ b/achievements/migrations/0003_auto_20171205_1821.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.6 on 2017-12-05 18:21 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('achievements', '0002_auto_20171128_1518'), + ] + + operations = [ + migrations.RemoveField( + model_name='achievements', + name='course', + ), + migrations.AlterField( + model_name='achievements', + name='icon', + field=models.ImageField(blank=True, null=True, upload_to='achives', verbose_name='Отображение достижения'), + ), + ] diff --git a/achievements/migrations/0004_auto_20171205_1823.py b/achievements/migrations/0004_auto_20171205_1823.py new file mode 100644 index 0000000..59a39a1 --- /dev/null +++ b/achievements/migrations/0004_auto_20171205_1823.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.6 on 2017-12-05 18:23 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('achievements', '0003_auto_20171205_1821'), + ] + + operations = [ + migrations.RemoveField( + model_name='achievements', + name='user', + ), + migrations.AddField( + model_name='achievements', + name='user', + field=models.ManyToManyField(to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/achievements/models.py b/achievements/models.py index 947f28c..a655013 100644 --- a/achievements/models.py +++ b/achievements/models.py @@ -5,12 +5,11 @@ from courses.models import Course, Vertex class Achievements(models.Model): - course = models.ForeignKey(to=Course) icon = models.ImageField(verbose_name='Отображение достижения', upload_to='achives', blank=True, null=True) - user = models.ForeignKey(to=settings.AUTH_USER_MODEL) + user = models.ManyToManyField(to=settings.AUTH_USER_MODEL) def __str__(self): - return 'Студенту %s за курс %s' % (self.user.username, self.course.title) + return 'Студенту %s' % (self.user.username,) class Meta: verbose_name = 'Достижение' diff --git a/csv/load_diploma.py b/csv/load_diploma.py new file mode 100644 index 0000000..e7e199d --- /dev/null +++ b/csv/load_diploma.py @@ -0,0 +1,15 @@ +import os, sys, django, csv + +from django.db import IntegrityError + +sys.path.append("../") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") +django.setup() + +from achievements.models import Diploma, Achievements + +if __name__ == '__main__': + with open('./achievements/achievements.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