Added Preset model

pull/246/head
Piero Toffanin 2017-07-20 10:19:25 -04:00
rodzic b4f643084c
commit bb2d87130b
3 zmienionych plików z 57 dodań i 0 usunięć

Wyświetl plik

@ -0,0 +1,32 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.1 on 2017-07-20 14:19
from __future__ import unicode_literals
import app.models.task
from django.conf import settings
import django.contrib.postgres.fields.jsonb
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('app', '0007_auto_20170712_1319'),
]
operations = [
migrations.CreateModel(
name='Preset',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(help_text='A label used to describe the preset', max_length=255)),
('options', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={}, help_text="Options that define this preset (same format as in a Task's options).", validators=[app.models.task.validate_task_options])),
('created_at', models.DateTimeField(default=django.utils.timezone.now, help_text='Creation date')),
('system', models.BooleanField(db_index=True, default=False, help_text='Whether this preset is available to every user in the system or just to its owner.')),
('owner', models.ForeignKey(help_text='The person who owns this preset', on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
]

Wyświetl plik

@ -1,3 +1,4 @@
from .image_upload import ImageUpload, image_directory_path
from .project import Project
from .task import Task, validate_task_options, gcp_directory_path
from .preset import Preset

Wyświetl plik

@ -0,0 +1,24 @@
import logging
from django.contrib.auth.models import User
from django.contrib.postgres.fields import JSONField
from django.db import models
from django.utils import timezone
from .task import validate_task_options
logger = logging.getLogger('app.logger')
class Preset(models.Model):
owner = models.ForeignKey(User, on_delete=models.CASCADE, help_text="The person who owns this preset")
name = models.CharField(max_length=255, help_text="A label used to describe the preset")
options = JSONField(default=dict(), blank=True, help_text="Options that define this preset (same format as in a Task's options).",
validators=[validate_task_options])
created_at = models.DateTimeField(default=timezone.now, help_text="Creation date")
system = models.BooleanField(db_index=True, default=False, help_text="Whether this preset is available to every user in the system or just to its owner.")
def __str__(self):
return self.name