60 lines
2.0 KiB
Python
60 lines
2.0 KiB
Python
|
|
from django.db import models
|
|
|
|
__all__ = [
|
|
'MedicalSpeciality',
|
|
'MedicalService',
|
|
'LPU'
|
|
]
|
|
|
|
|
|
class MedicalService(models.Model):
|
|
|
|
code = models.CharField(max_length=32, verbose_name='Код')
|
|
local_code = models.CharField(max_length=32, null=True, blank=True, verbose_name='Локальный код')
|
|
name = models.CharField(max_length=1024, db_index=True, verbose_name='Название')
|
|
is_active = models.BooleanField(default=True, db_index=True, verbose_name='Активность')
|
|
|
|
class Meta:
|
|
verbose_name = 'Услуга'
|
|
verbose_name_plural = 'Услуги'
|
|
db_table = 'catalog_medicalservice'
|
|
managed = False
|
|
|
|
def __str__(self):
|
|
if self.local_code:
|
|
return f'{self.local_code} - {self.code} - {self.name}'
|
|
else:
|
|
return f'{self.code} - {self.name}'
|
|
|
|
|
|
class MedicalSpeciality(models.Model):
|
|
|
|
id = models.PositiveIntegerField(primary_key=True, verbose_name='id')
|
|
code = models.IntegerField(verbose_name='Код', unique=True)
|
|
name = models.CharField(max_length=1024, verbose_name='Название')
|
|
is_active = models.BooleanField(default=True, verbose_name='Активность')
|
|
|
|
class Meta:
|
|
verbose_name = 'Медицинская специальность'
|
|
verbose_name_plural = 'Медицинские специальности'
|
|
db_table = 'catalog_medicalspeciality'
|
|
|
|
def __str__(self):
|
|
return '%s (%s)' % (self.name, self.code)
|
|
|
|
|
|
class LPU(models.Model):
|
|
|
|
code = models.IntegerField(unique=True, primary_key=True, verbose_name='Код учреждения')
|
|
full_name = models.CharField(max_length=200, verbose_name='Полное название')
|
|
short_name = models.CharField(max_length=200, verbose_name='Короткое название')
|
|
|
|
class Meta:
|
|
verbose_name = 'ЛПУ'
|
|
verbose_name_plural = 'ЛПУ'
|
|
db_table = 'lpu'
|
|
|
|
def __str__(self):
|
|
return f'{self.full_name} {self.code}'
|