Explorar o código

Models defined

Denis Merigoux %!s(int64=10) %!d(string=hai) anos
achega
b7c68b7da0

+ 0 - 0
LAPI/__init__.py


+ 84 - 0
LAPI/settings.py

@@ -0,0 +1,84 @@
1
+"""
2
+Django settings for LAPI project.
3
+
4
+For more information on this file, see
5
+https://docs.djangoproject.com/en/1.7/topics/settings/
6
+
7
+For the full list of settings and their values, see
8
+https://docs.djangoproject.com/en/1.7/ref/settings/
9
+"""
10
+
11
+# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
12
+import os
13
+BASE_DIR = os.path.dirname(os.path.dirname(__file__))
14
+
15
+
16
+# Quick-start development settings - unsuitable for production
17
+# See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/
18
+
19
+# SECURITY WARNING: keep the secret key used in production secret!
20
+SECRET_KEY = '6&h=8hz59jtpz6$-vz!946ovtem!s60w%m_dob@3!l(oj%p=j='
21
+
22
+# SECURITY WARNING: don't run with debug turned on in production!
23
+DEBUG = True
24
+
25
+TEMPLATE_DEBUG = True
26
+
27
+ALLOWED_HOSTS = []
28
+
29
+
30
+# Application definition
31
+
32
+INSTALLED_APPS = (
33
+    'django.contrib.admin',
34
+    'django.contrib.auth',
35
+    'django.contrib.contenttypes',
36
+    'django.contrib.sessions',
37
+    'django.contrib.messages',
38
+    'django.contrib.staticfiles',
39
+    'census',
40
+)
41
+
42
+MIDDLEWARE_CLASSES = (
43
+    'django.contrib.sessions.middleware.SessionMiddleware',
44
+    'django.middleware.common.CommonMiddleware',
45
+    'django.middleware.csrf.CsrfViewMiddleware',
46
+    'django.contrib.auth.middleware.AuthenticationMiddleware',
47
+    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
48
+    'django.contrib.messages.middleware.MessageMiddleware',
49
+    'django.middleware.clickjacking.XFrameOptionsMiddleware',
50
+)
51
+
52
+ROOT_URLCONF = 'LAPI.urls'
53
+
54
+WSGI_APPLICATION = 'LAPI.wsgi.application'
55
+
56
+
57
+# Database
58
+# https://docs.djangoproject.com/en/1.7/ref/settings/#databases
59
+
60
+DATABASES = {
61
+    'default': {
62
+        'ENGINE': 'django.db.backends.sqlite3',
63
+        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
64
+    }
65
+}
66
+
67
+# Internationalization
68
+# https://docs.djangoproject.com/en/1.7/topics/i18n/
69
+
70
+LANGUAGE_CODE = 'en-us'
71
+
72
+TIME_ZONE = 'UTC'
73
+
74
+USE_I18N = True
75
+
76
+USE_L10N = True
77
+
78
+USE_TZ = True
79
+
80
+
81
+# Static files (CSS, JavaScript, Images)
82
+# https://docs.djangoproject.com/en/1.7/howto/static-files/
83
+
84
+STATIC_URL = '/static/'

+ 10 - 0
LAPI/urls.py

@@ -0,0 +1,10 @@
1
+from django.conf.urls import patterns, include, url
2
+from django.contrib import admin
3
+
4
+urlpatterns = patterns('',
5
+    # Examples:
6
+    # url(r'^$', 'LAPI.views.home', name='home'),
7
+    # url(r'^blog/', include('blog.urls')),
8
+
9
+    url(r'^admin/', include(admin.site.urls)),
10
+)

+ 14 - 0
LAPI/wsgi.py

@@ -0,0 +1,14 @@
1
+"""
2
+WSGI config for LAPI project.
3
+
4
+It exposes the WSGI callable as a module-level variable named ``application``.
5
+
6
+For more information on this file, see
7
+https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/
8
+"""
9
+
10
+import os
11
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "LAPI.settings")
12
+
13
+from django.core.wsgi import get_wsgi_application
14
+application = get_wsgi_application()

+ 0 - 0
census/__init__.py


+ 10 - 0
census/admin.py

@@ -0,0 +1,10 @@
1
+from django.contrib import admin
2
+from census.models import *
3
+
4
+# Register your models here.
5
+admin.site.register(Promotion)
6
+admin.site.register(Amphi)
7
+admin.site.register(Course)
8
+admin.site.register(Professor)
9
+admin.site.register(Lesson)
10
+admin.site.register(Count)

+ 95 - 0
census/migrations/0001_initial.py

@@ -0,0 +1,95 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.db import models, migrations
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+    ]
11
+
12
+    operations = [
13
+        migrations.CreateModel(
14
+            name='Amphi',
15
+            fields=[
16
+                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
17
+                ('name', models.CharField(max_length=60, verbose_name='Nom')),
18
+                ('capacity', models.IntegerField(verbose_name='Capacité')),
19
+            ],
20
+            options={
21
+            },
22
+            bases=(models.Model,),
23
+        ),
24
+        migrations.CreateModel(
25
+            name='Count',
26
+            fields=[
27
+                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
28
+                ('census', models.IntegerField(verbose_name="Nombre d'éléves présents")),
29
+            ],
30
+            options={
31
+            },
32
+            bases=(models.Model,),
33
+        ),
34
+        migrations.CreateModel(
35
+            name='Course',
36
+            fields=[
37
+                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
38
+                ('name', models.CharField(max_length=6, verbose_name='Nom')),
39
+                ('enrolled', models.IntegerField(verbose_name="Nombre d'inscrits")),
40
+            ],
41
+            options={
42
+            },
43
+            bases=(models.Model,),
44
+        ),
45
+        migrations.CreateModel(
46
+            name='Lesson',
47
+            fields=[
48
+                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
49
+                ('date', models.DateTimeField(verbose_name='Date')),
50
+                ('number', models.IntegerField(verbose_name='Numéro de la séance')),
51
+                ('course', models.ForeignKey(to='census.Course')),
52
+            ],
53
+            options={
54
+            },
55
+            bases=(models.Model,),
56
+        ),
57
+        migrations.CreateModel(
58
+            name='Professor',
59
+            fields=[
60
+                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
61
+                ('name', models.CharField(max_length=100, verbose_name='Nom')),
62
+            ],
63
+            options={
64
+            },
65
+            bases=(models.Model,),
66
+        ),
67
+        migrations.CreateModel(
68
+            name='Promotion',
69
+            fields=[
70
+                ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)),
71
+                ('number', models.IntegerField(verbose_name='Numéro')),
72
+            ],
73
+            options={
74
+            },
75
+            bases=(models.Model,),
76
+        ),
77
+        migrations.AddField(
78
+            model_name='lesson',
79
+            name='professor',
80
+            field=models.ForeignKey(to='census.Professor'),
81
+            preserve_default=True,
82
+        ),
83
+        migrations.AddField(
84
+            model_name='course',
85
+            name='promotion',
86
+            field=models.ForeignKey(to='census.Promotion'),
87
+            preserve_default=True,
88
+        ),
89
+        migrations.AddField(
90
+            model_name='count',
91
+            name='lesson',
92
+            field=models.ForeignKey(to='census.Lesson'),
93
+            preserve_default=True,
94
+        ),
95
+    ]

+ 20 - 0
census/migrations/0002_auto_20150228_1836.py

@@ -0,0 +1,20 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.db import models, migrations
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+        ('census', '0001_initial'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.AlterField(
15
+            model_name='lesson',
16
+            name='date',
17
+            field=models.DateField(verbose_name='Date'),
18
+            preserve_default=True,
19
+        ),
20
+    ]

+ 0 - 0
census/migrations/__init__.py


BIN=BIN
census/migrations/__pycache__/0001_initial.cpython-34.pyc


BIN=BIN
census/migrations/__pycache__/0002_auto_20150228_1836.cpython-34.pyc


BIN=BIN
census/migrations/__pycache__/__init__.cpython-34.pyc


+ 46 - 0
census/models.py

@@ -0,0 +1,46 @@
1
+from django.db import models
2
+
3
+# Create your models here.
4
+
5
+class Promotion(models.Model):
6
+	number=models.IntegerField("Numéro")
7
+
8
+	def __str__(self):
9
+		return "X%s" % (self.number,)
10
+
11
+class Amphi(models.Model):
12
+	name=models.CharField("Nom",max_length=60)
13
+	capacity=models.IntegerField("Capacité")
14
+
15
+	def __str__(self):
16
+		return "%s" % (self.name,)
17
+
18
+class Course(models.Model):
19
+	name=models.CharField("Nom",max_length=6)
20
+	promotion=models.ForeignKey(Promotion)
21
+	enrolled=models.IntegerField("Nombre d'inscrits")
22
+
23
+	def __str__(self):
24
+		return "%s (%s)" % (self.name,self.promotion)
25
+
26
+class Professor(models.Model):
27
+	name=models.CharField("Nom",max_length=100)
28
+
29
+	def __str__(self):
30
+		return "%s" % (self.name,)
31
+
32
+class Lesson(models.Model):
33
+	course=models.ForeignKey(Course)
34
+	date=models.DateField("Date")
35
+	number=models.IntegerField("Numéro de la séance")
36
+	professor=models.ForeignKey(Professor)
37
+
38
+	def __str__(self):
39
+		return "%s %s (%s,%s)" % (self.course.name,self.number,self.course.promotion,self.date)
40
+
41
+class Count(models.Model):
42
+	lesson=models.ForeignKey(Lesson)
43
+	census=models.IntegerField("Nombre d'éléves présents")
44
+
45
+	def __str__(self):
46
+		return "%s/%s : %s" % (self.census,self.lesson.course.enrolled,self.lesson)

+ 3 - 0
census/tests.py

@@ -0,0 +1,3 @@
1
+from django.test import TestCase
2
+
3
+# Create your tests here.

+ 3 - 0
census/views.py

@@ -0,0 +1,3 @@
1
+from django.shortcuts import render
2
+
3
+# Create your views here.

BIN=BIN
db.sqlite3


+ 10 - 0
manage.py

@@ -0,0 +1,10 @@
1
+#!/usr/bin/env python
2
+import os
3
+import sys
4
+
5
+if __name__ == "__main__":
6
+    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "LAPI.settings")
7
+
8
+    from django.core.management import execute_from_command_line
9
+
10
+    execute_from_command_line(sys.argv)