Add models
This commit is contained in:
parent
a3d3280330
commit
753b5641c8
10 changed files with 216 additions and 0 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -177,3 +177,4 @@ venv.bak/
|
|||
|
||||
|
||||
# End of https://www.gitignore.io/api/python,pycharm,osx
|
||||
db.sqlite3
|
||||
|
|
0
gym/__init__.py
Normal file
0
gym/__init__.py
Normal file
3
gym/admin.py
Normal file
3
gym/admin.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
5
gym/apps.py
Normal file
5
gym/apps.py
Normal file
|
@ -0,0 +1,5 @@
|
|||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class GymConfig(AppConfig):
|
||||
name = 'gym'
|
104
gym/migrations/0001_initial.py
Normal file
104
gym/migrations/0001_initial.py
Normal file
|
@ -0,0 +1,104 @@
|
|||
# Generated by Django 2.0.2 on 2018-03-02 11:00
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Equipment',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=300, verbose_name='nom')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'machine',
|
||||
'verbose_name_plural': 'machines',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Room',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=300, verbose_name='nom')),
|
||||
('latitude', models.DecimalField(decimal_places=8, max_digits=11, verbose_name='latitude')),
|
||||
('longitude', models.DecimalField(decimal_places=8, max_digits=11, verbose_name='longitude')),
|
||||
('notes', models.TextField(verbose_name='notes')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'salle',
|
||||
'verbose_name_plural': 'salles',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Round',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('repetition_number', models.PositiveIntegerField(verbose_name='nombre de répétitions')),
|
||||
('theoretical_max_percentage', models.PositiveIntegerField(verbose_name='pourcentage')),
|
||||
('chosen_weight', models.FloatField(verbose_name='charge choisie')),
|
||||
('notes', models.TextField(verbose_name='notes')),
|
||||
('equipment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rounds', to='gym.Equipment', verbose_name='machine')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'série',
|
||||
'verbose_name_plural': 'séries',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Session',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('date', models.DateField(verbose_name='date')),
|
||||
('notes', models.TextField(verbose_name='notes')),
|
||||
('room', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sessions', to='gym.Room', verbose_name='salle')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'séance',
|
||||
'verbose_name_plural': 'séances',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Setting',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=200, verbose_name='nom')),
|
||||
('value', models.CharField(max_length=200, verbose_name='valeur')),
|
||||
('equipment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='settings', to='gym.Equipment', verbose_name='machine')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'réglage',
|
||||
'verbose_name_plural': 'réglages',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='TheoreticalMax',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('date', models.DateField(verbose_name='date')),
|
||||
('value', models.FloatField(verbose_name='valeur')),
|
||||
('equipment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='theoretical_maxs', to='gym.Equipment', verbose_name='machine')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'maximum théorique',
|
||||
'verbose_name_plural': 'maximums théoriques',
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='round',
|
||||
name='session',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rounds', to='gym.Session', verbose_name='séance'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='equipment',
|
||||
name='room',
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='equipments', to='gym.Room', verbose_name='salle'),
|
||||
),
|
||||
]
|
0
gym/migrations/__init__.py
Normal file
0
gym/migrations/__init__.py
Normal file
96
gym/models.py
Normal file
96
gym/models.py
Normal file
|
@ -0,0 +1,96 @@
|
|||
from django.db import models
|
||||
|
||||
|
||||
class Room(models.Model):
|
||||
class Meta:
|
||||
verbose_name = 'salle'
|
||||
verbose_name_plural = 'salles'
|
||||
|
||||
name = models.CharField('nom', max_length=300)
|
||||
latitude = models.DecimalField('latitude', max_digits=11, decimal_places=8)
|
||||
longitude = models.DecimalField('longitude', max_digits=11, decimal_places=8)
|
||||
notes = models.TextField('notes')
|
||||
|
||||
|
||||
class Equipment(models.Model):
|
||||
class Meta:
|
||||
verbose_name = 'machine'
|
||||
verbose_name_plural = 'machines'
|
||||
|
||||
name = models.CharField('nom', max_length=300)
|
||||
room = models.ForeignKey(
|
||||
verbose_name='salle',
|
||||
to=Room,
|
||||
on_delete=models.SET_NULL,
|
||||
related_name='equipments',
|
||||
null=True
|
||||
)
|
||||
|
||||
|
||||
class Setting(models.Model):
|
||||
class Meta:
|
||||
verbose_name = 'réglage'
|
||||
verbose_name_plural = 'réglages'
|
||||
|
||||
equipment = models.ForeignKey(
|
||||
verbose_name='machine',
|
||||
to=Equipment,
|
||||
on_delete=models.CASCADE,
|
||||
related_name='settings'
|
||||
)
|
||||
name = models.CharField('nom', max_length=200)
|
||||
value = models.CharField('valeur', max_length=200)
|
||||
|
||||
|
||||
class TheoreticalMax(models.Model):
|
||||
class Meta:
|
||||
verbose_name = 'maximum théorique'
|
||||
verbose_name_plural = 'maximums théoriques'
|
||||
|
||||
equipment = models.ForeignKey(
|
||||
verbose_name='machine',
|
||||
to=Equipment,
|
||||
on_delete=models.CASCADE,
|
||||
related_name='theoretical_maxs'
|
||||
)
|
||||
date = models.DateField('date')
|
||||
value = models.FloatField('valeur')
|
||||
|
||||
|
||||
class Session(models.Model):
|
||||
class Meta:
|
||||
verbose_name = 'séance'
|
||||
verbose_name_plural = 'séances'
|
||||
|
||||
date = models.DateField('date')
|
||||
room = models.ForeignKey(
|
||||
verbose_name='salle',
|
||||
to=Room,
|
||||
on_delete=models.SET_NULL,
|
||||
related_name='sessions',
|
||||
null=True
|
||||
)
|
||||
notes = models.TextField('notes')
|
||||
|
||||
|
||||
class Round(models.Model):
|
||||
class Meta:
|
||||
verbose_name = 'série'
|
||||
verbose_name_plural = 'séries'
|
||||
|
||||
repetition_number = models.PositiveIntegerField('nombre de répétitions')
|
||||
equipment = models.ForeignKey(
|
||||
verbose_name='machine',
|
||||
to=Equipment,
|
||||
on_delete=models.CASCADE,
|
||||
related_name='rounds'
|
||||
)
|
||||
theoretical_max_percentage = models.PositiveIntegerField('pourcentage')
|
||||
chosen_weight = models.FloatField('charge choisie')
|
||||
session = models.ForeignKey(
|
||||
verbose_name='séance',
|
||||
to=Session,
|
||||
on_delete=models.CASCADE,
|
||||
related_name='rounds'
|
||||
)
|
||||
notes = models.TextField('notes')
|
3
gym/tests.py
Normal file
3
gym/tests.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
3
gym/views.py
Normal file
3
gym/views.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
|
@ -37,6 +37,7 @@ INSTALLED_APPS = [
|
|||
'django.contrib.sessions',
|
||||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
'gym',
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
|
|
Loading…
Reference in a new issue