src/notes/models/category.py
author ymh <ymh.work@gmail.com>
Thu, 08 Jun 2017 17:57:57 +0200
changeset 24 3b3999550508
child 31 63be3ce389f7
permissions -rw-r--r--
first data model for backend
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
24
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
"""
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
models for metacategories and protocol
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
"""
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
from colorful.fields import RGBColorField
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
from django.db import models
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
from django.utils.translation import ugettext_lazy as _
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
from .base import Model
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
from .auth import GroupProfile
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
class Protocol(Model):
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    title = models.CharField(max_length=255, verbose_name=_('Protocol|title'))
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
    group_profile = models.OneToOneField(GroupProfile, on_delete=models.CASCADE)
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    class Meta:
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
        verbose_name = _('Protocol')
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        verbose_name_plural = _('Protocols')
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
class Category(models.Model):
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    title = models.CharField(max_length=255, verbose_name=_('Category|title'))
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    color = RGBColorField(verbose_name=_('Category|color'))
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    need_comment = models.BooleanField(default=False, verbose_name=_('Category|need_comment'))
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    description = models.TextField(null=True, blank=True, verbose_name=_('Category|description'))
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    protocol = models.ForeignKey(
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
        Protocol,
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
        verbose_name=_('Category|protocol'),
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
        related_name='categories',
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
        on_delete=models.CASCADE
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    )
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    class Meta:
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
        verbose_name = _('Category')
3b3999550508 first data model for backend
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
        verbose_name_plural = _('Categories')