From 931fff81874b97c1f5ee06fb139df60033bde509 Mon Sep 17 00:00:00 2001 From: Yoann Pietri Date: Sun, 21 Jan 2018 01:10:32 +0100 Subject: [PATCH] Ajout des modeles pour les votes --- content/admin.py | 4 +- content/migrations/0002_ecole.py | 20 +++++++++ content/migrations/0003_auto_20180120_2352.py | 17 ++++++++ content/migrations/0004_video.py | 20 +++++++++ content/models.py | 12 ++++++ site_tps/settings.py | 1 + vote/admin.py | 4 +- vote/migrations/0001_initial.py | 42 +++++++++++++++++++ vote/models.py | 22 +++++----- 9 files changed, 130 insertions(+), 12 deletions(-) create mode 100644 content/migrations/0002_ecole.py create mode 100644 content/migrations/0003_auto_20180120_2352.py create mode 100644 content/migrations/0004_video.py create mode 100644 vote/migrations/0001_initial.py diff --git a/content/admin.py b/content/admin.py index 75f042a..bae393e 100644 --- a/content/admin.py +++ b/content/admin.py @@ -1,6 +1,8 @@ from django.contrib import admin -from .models import Category, Content +from .models import Category, Content, School, Video admin.site.register(Category) admin.site.register(Content) +admin.site.register(School) +admin.site.register(Video) diff --git a/content/migrations/0002_ecole.py b/content/migrations/0002_ecole.py new file mode 100644 index 0000000..3162c46 --- /dev/null +++ b/content/migrations/0002_ecole.py @@ -0,0 +1,20 @@ +# Generated by Django 2.0.1 on 2018-01-20 23:50 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('content', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Ecole', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ], + ), + ] diff --git a/content/migrations/0003_auto_20180120_2352.py b/content/migrations/0003_auto_20180120_2352.py new file mode 100644 index 0000000..40ed65d --- /dev/null +++ b/content/migrations/0003_auto_20180120_2352.py @@ -0,0 +1,17 @@ +# Generated by Django 2.0.1 on 2018-01-20 23:52 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('content', '0002_ecole'), + ] + + operations = [ + migrations.RenameModel( + old_name='Ecole', + new_name='School', + ), + ] diff --git a/content/migrations/0004_video.py b/content/migrations/0004_video.py new file mode 100644 index 0000000..094e407 --- /dev/null +++ b/content/migrations/0004_video.py @@ -0,0 +1,20 @@ +# Generated by Django 2.0.1 on 2018-01-21 00:07 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('content', '0003_auto_20180120_2352'), + ] + + operations = [ + migrations.CreateModel( + name='Video', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ], + ), + ] diff --git a/content/models.py b/content/models.py index 2f7611e..8961ae0 100644 --- a/content/models.py +++ b/content/models.py @@ -9,6 +9,18 @@ class Category(models.Model): ) +class School(models.Model): + name = models.CharField( + max_length=255 + ) + + def __str__(self): + return self.name + +class Video(models.Model): + name = models.CharField(max_length=255) + + class Content(models.Model): name = models.CharField( max_length=255, diff --git a/site_tps/settings.py b/site_tps/settings.py index ab16df0..187e172 100644 --- a/site_tps/settings.py +++ b/site_tps/settings.py @@ -39,6 +39,7 @@ INSTALLED_APPS = [ 'django.contrib.staticfiles', 'settings', 'content', + 'vote' ] MIDDLEWARE = [ diff --git a/vote/admin.py b/vote/admin.py index 8c38f3f..9ac7d05 100644 --- a/vote/admin.py +++ b/vote/admin.py @@ -1,3 +1,5 @@ from django.contrib import admin +from .models import Vote, Voter -# Register your models here. +admin.site.register(Vote) +admin.site.register(Voter) diff --git a/vote/migrations/0001_initial.py b/vote/migrations/0001_initial.py new file mode 100644 index 0000000..f8b375d --- /dev/null +++ b/vote/migrations/0001_initial.py @@ -0,0 +1,42 @@ +# Generated by Django 2.0.1 on 2018-01-21 00:07 + +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('content', '0004_video'), + ] + + operations = [ + migrations.CreateModel( + name='Vote', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('vote', models.IntegerField(validators=[django.core.validators.MaxValueValidator(5), django.core.validators.MinValueValidator(0)])), + ('categorie', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='content.Category')), + ('video', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='content.Video')), + ], + ), + migrations.CreateModel( + name='Voter', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100)), + ('firstname', models.CharField(max_length=100)), + ('email', models.EmailField(max_length=200)), + ('password', models.CharField(max_length=100)), + ('ecole', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='content.School')), + ], + ), + migrations.AddField( + model_name='vote', + name='votant', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='vote.Voter'), + ), + ] diff --git a/vote/models.py b/vote/models.py index a949daa..d3c8f10 100644 --- a/vote/models.py +++ b/vote/models.py @@ -1,23 +1,25 @@ from django.db import models from django.core import validators +from content.models import School, Category, Video - -class Votants(models.Model): +class Voter(models.Model): name = models.CharField(max_length=100) firstname = models.CharField(max_length=100) email = models.EmailField(max_length=200) - ecole = models.ForeignKey(Ecole, on_delete=models.CASCADE) + ecole = models.ForeignKey('content.School', on_delete=models.CASCADE) password = models.CharField(max_length=100) def __str__(self): return self.firstname + " " + self.name -class Votes(models.Model): - votant = models.ForeignKey(Votants, on_delete = models.CASCADE) - video = models.ForeignKey(Videos, on_delete = models.CASCADE) - categorie = models.ForeignKey(Categories, on_delete = models.CASCADE) + +class Vote(models.Model): + votant = models.ForeignKey('Voter', on_delete=models.CASCADE) + video = models.ForeignKey('content.Video', on_delete=models.CASCADE) + categorie = models.ForeignKey('content.Category', on_delete=models.CASCADE) vote = models.IntegerField( - min_value = 0, - max_value = 5, - validators = [validators.MaxValueValidator(5),validators.MinValueValidator(0)] + validators=[ + validators.MaxValueValidator(5), + validators.MinValueValidator(0) + ] )