Files
training.django/source/orm/library/migrations/0001_initial.py
Steve Kossouho e3ebf6bf4f Add documentation and source
Added documentation, source and extra files.
2025-07-02 20:26:50 +02:00

102 lines
5.4 KiB
Python

# Generated by Django 3.2 on 2021-04-12 14:11
import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import uuid
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Author',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, verbose_name='UUID')),
('first_name', models.CharField(max_length=64, verbose_name='first name')),
('last_name', models.CharField(max_length=64, verbose_name='last name')),
('description', models.TextField(blank=True, verbose_name='description')),
('birth_date', models.DateField(default=datetime.date(2000, 1, 1), verbose_name='birth date')),
('registration_date', models.DateTimeField(auto_now_add=True, verbose_name='registration date')),
],
options={
'verbose_name': 'book author',
'verbose_name_plural': 'book authors',
},
),
migrations.CreateModel(
name='Genre',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, verbose_name='UUID')),
('code_name', models.CharField(max_length=64, unique=True, verbose_name='code name')),
('name', models.CharField(max_length=64, verbose_name='name')),
('description', models.TextField(blank=True, verbose_name='description')),
('creation_date', models.DateTimeField(auto_now_add=True, verbose_name='creation date')),
],
options={
'verbose_name': 'genre',
'verbose_name_plural': 'genres',
},
),
migrations.CreateModel(
name='Person',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('role', models.PositiveSmallIntegerField(choices=[(0, 'employee'), (1, 'client')], db_index=True, default=0, verbose_name='role')),
('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, verbose_name='UUID')),
('first_name', models.CharField(max_length=64, verbose_name='first name')),
('last_name', models.CharField(max_length=64, verbose_name='last name')),
('birth_date', models.DateField(default=datetime.date(2000, 1, 1), verbose_name='birth date')),
('creation_date', models.DateTimeField(auto_now_add=True, verbose_name='creation date')),
('user', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='person', to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'person',
'verbose_name_plural': 'people',
},
),
migrations.CreateModel(
name='Book',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, verbose_name='UUID')),
('isbn', models.CharField(max_length=64, verbose_name='ISBN')),
('name', models.CharField(max_length=128, verbose_name='name')),
('description', models.TextField(blank=True, verbose_name='description')),
('registration_date', models.DateTimeField(auto_now_add=True, verbose_name='creation date')),
('authors', models.ManyToManyField(related_name='books', to='library.Author', verbose_name='authors')),
('genre', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='books', to='library.genre', verbose_name='genre')),
],
options={
'verbose_name': 'book',
'verbose_name_plural': 'books',
},
),
migrations.CreateModel(
name='Loan',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, verbose_name='UUID')),
('date', models.DateTimeField(auto_now_add=True, verbose_name='date')),
('expected_return', models.DateTimeField(null=True, verbose_name='expected return date')),
('borrowed', models.NullBooleanField(default=True, verbose_name='borrowed')),
('book', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='loans', to='library.book', verbose_name='book')),
('person', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='loans', to='library.person', verbose_name='person')),
],
options={
'verbose_name': 'book loan',
'verbose_name_plural': 'book loans',
'unique_together': {('book', 'borrowed')},
},
),
]