add procat2 catalog, region, and season models

This commit is contained in:
Seth Ladygo
2019-04-23 14:43:43 -07:00
parent 5ef49bff51
commit 6b9da6ffb6
2 changed files with 93 additions and 0 deletions

View File

@ -0,0 +1,60 @@
# Generated by Django 2.1.7 on 2019-04-23 22:03
from django.conf import settings
import django.contrib.postgres.fields.jsonb
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('procat2', '0002_site_changes'),
]
operations = [
migrations.CreateModel(
name='Catalog',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('name', models.CharField(max_length=300)),
('public', models.BooleanField(default=False)),
('pages', models.PositiveIntegerField(default=0)),
('sections', models.PositiveIntegerField(default=0)),
('materials', models.PositiveIntegerField(default=0)),
('data', django.contrib.postgres.fields.jsonb.JSONField(null=True)),
('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='Region',
fields=[
('id', models.CharField(max_length=30, primary_key=True, serialize=False)),
('name', models.CharField(max_length=100)),
('ordering', models.PositiveIntegerField(default=1000, unique=True)),
],
),
migrations.CreateModel(
name='Season',
fields=[
('id', models.CharField(max_length=30, primary_key=True, serialize=False)),
('name', models.CharField(max_length=100)),
('ordering', models.PositiveIntegerField(default=1000, unique=True)),
],
),
migrations.AddField(
model_name='catalog',
name='region',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='procat2.Region'),
),
migrations.AddField(
model_name='catalog',
name='season',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='procat2.Season'),
),
]

33
procat2/models.py Normal file
View File

@ -0,0 +1,33 @@
from django.db import models
from django.conf import settings
from django.contrib.postgres.fields import JSONField
class Season(models.Model):
id = models.CharField(max_length=30, primary_key=True)
name = models.CharField(max_length=100)
ordering = models.PositiveIntegerField(unique=True, default=1000)
class Region(models.Model):
id = models.CharField(max_length=30, primary_key=True)
name = models.CharField(max_length=100)
ordering = models.PositiveIntegerField(unique=True, default=1000)
class Catalog(models.Model):
owner = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)
season = models.ForeignKey(Season, on_delete=models.PROTECT)
region = models.ForeignKey(Region, on_delete=models.PROTECT)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
name = models.CharField(max_length=300)
public = models.BooleanField(default=False)
pages = models.PositiveIntegerField(default=0)
sections = models.PositiveIntegerField(default=0)
materials = models.PositiveIntegerField(default=0)
data = JSONField(null=True)
# JSONField docs:
# https://docs.djangoproject.com/en/2.2/ref/contrib/postgres/fields/#jsonfield