src/notes/models/category.py
author ymh <ymh.work@gmail.com>
Wed, 19 Jul 2017 15:57:13 +0200
changeset 119 8ff8e2aee0f9
parent 31 63be3ce389f7
child 133 6f3078f7fd47
permissions -rw-r--r--
add parameter to filter session and note by updated date. Add pagination on sessions and notes. add read only endpoint at root level to list notes

"""
models for metacategories and protocol
"""
from colorful.fields import RGBColorField
from django.db import models
from django.utils.translation import ugettext_lazy as _

from .base import Model
from .auth import GroupProfile


class Protocol(Model):
    title = models.CharField(max_length=255, verbose_name=_('Protocol|title'))
    group_profile = models.OneToOneField(
        GroupProfile, on_delete=models.CASCADE)

    class Meta:
        verbose_name = _('Protocol')
        verbose_name_plural = _('Protocols')


class Category(models.Model):
    title = models.CharField(max_length=255, verbose_name=_('Category|title'))
    color = RGBColorField(verbose_name=_('Category|color'))
    need_comment = models.BooleanField(
        default=False,
        verbose_name=_('Category|need_comment')
    )
    description = models.TextField(
        null=True,
        blank=True,
        verbose_name=_('Category|description')
    )
    protocol = models.ForeignKey(
        Protocol,
        verbose_name=_('Category|protocol'),
        related_name='categories',
        on_delete=models.CASCADE
    )

    class Meta:
        verbose_name = _('Category')
        verbose_name_plural = _('Categories')