1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- from django.db import models
- from apps.tenant.models import Tenant
- from django.db.models import Q
- from django.conf import settings
- class Option(models.Model):
- REPAIRS_TYPE =1
- FAULT_CAUSE = 2
- TYPE_CHOICES = (
- (REPAIRS_TYPE, u'报修类型'),
- (FAULT_CAUSE, u'故障原因'),
- )
- tenant = models.ForeignKey(Tenant, verbose_name=u'企业', on_delete=models.PROTECT, editable=False)
- type = models.PositiveSmallIntegerField(choices=TYPE_CHOICES, verbose_name=u"类别")
- name = models.CharField(verbose_name=u'名称', max_length=100)
- sort = models.PositiveSmallIntegerField(verbose_name=u'排序', help_text=u'越小越靠前', default=0)
- notes = models.CharField(max_length=500, verbose_name=u"备注",null=True)
- enable = models.BooleanField(verbose_name=u"在用", default=True)
- delete = models.BooleanField(verbose_name=u"删除", default=False, editable=False)
- create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u"创建人", on_delete=models.PROTECT,
- editable=False)
- class Meta:
- db_table = 'system_option'
- verbose_name = u"系统选项"
- ordering = ['type', 'sort', ]
- index_together = (
- 'type',
- 'name',
- )
- default_permissions = ()
- permissions = [
- ('browse_option', u'查看'),
- ('add_option', u'添加'),
- ('delete_option', u'删除'),
- ]
- @staticmethod
- def is_exist(tenant, type, name, exclude_id=None):
- rows = Option.objects.filter(tenant=tenant, type=type, name=name, delete=False)
- if exclude_id:
- rows = rows.filter(~Q(id=exclude_id))
- return rows.count()
|