Refonte de la base:

* utilisation de classes abstraites Django : Item et Collection
  * héritage de ces classes pour Game et Console
  * création d'un objet Timeline contenant le changement d'état des jeux
  * affichage de la Timeline sur l'interface Admin
This commit is contained in:
2017-08-22 21:02:43 +02:00
parent deac1710ca
commit 242b0edff0
11 changed files with 198 additions and 39 deletions

View File

@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11 on 2017-08-16 19:55
# Generated by Django 1.11 on 2017-08-22 18:56
from __future__ import unicode_literals
import datetime
from django.db import migrations, models
import django.db.models.deletion
@ -18,21 +19,39 @@ class Migration(migrations.Migration):
name='Console',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=254)),
('name', models.CharField(max_length=255)),
],
options={'ordering': ('name',)},
options={
'ordering': ['name'],
'abstract': False,
},
),
migrations.CreateModel(
name='Game',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=254)),
('console', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='games.Console')),
('name', models.CharField(max_length=255)),
('playing', models.BooleanField(default=False)),
('status', models.IntegerField(choices=[(4, 'Unfinished'), (0, 'Beaten'), (1, 'Completed'), (2, 'Excluded'), (3, 'Mastered')], default=4)),
('unplayed', models.BooleanField(default=False)),
('wish', models.BooleanField(default=False)),
('status', models.CharField(choices=[('created', 'New'), ('beaten', 'Beaten'), ('completed', 'Completed'), ('excluded', 'Excluded'), ('mastered', 'Mastered'), ('unfinished', 'Unfinished')], default='unfinished', max_length=30)),
('collection', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='games', to='games.Console', verbose_name='console')),
],
options={'ordering': ('-playing', 'name')},
options={
'ordering': ('-playing', 'name'),
},
),
migrations.CreateModel(
name='Timeline',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date', models.DateTimeField(default=datetime.datetime.now)),
('status', models.CharField(choices=[('created', 'New'), ('beaten', 'Beaten'), ('completed', 'Completed'), ('excluded', 'Excluded'), ('mastered', 'Mastered'), ('unfinished', 'Unfinished')], default='created', max_length=30)),
('item', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='games.Game')),
],
options={
'ordering': ('-date',),
'abstract': False,
},
),
]