Advertisement
Mochinov

Untitled

Dec 17th, 2020
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.49 KB | None | 0 0
  1. from django.db import models
  2. import re;
  3. from django.core.validators import RegexValidator
  4.  
  5.  
  6. class Town(models.Model):
  7.     """Модель города"""
  8.     name = models.CharField('Название Города', blank=False, max_length=25)
  9.     time_shifting = models.IntegerField('Временной сдвиг', blank=False)
  10.  
  11.     def __str__(self):
  12.         return self.name
  13.  
  14.     class Meta:
  15.         verbose_name = 'Город'
  16.         verbose_name_plural = 'Города'
  17.         db_table = 'town'
  18.  
  19.  
  20. class Address(models.Model):
  21.     building = models.CharField('Дом №', max_length=100,  null=False, default='')
  22.     street = models.CharField(max_length=100, null=False, verbose_name='Улица')
  23.     town = models.ForeignKey(Town, verbose_name="Город",  null=False, on_delete=models.CASCADE)
  24.  
  25.     class Meta:
  26.         verbose_name = 'Адрес'
  27.         verbose_name_plural = 'Адреса'
  28.         db_table = 'address'
  29.  
  30.  
  31.  
  32. class Mother_in_labor(models.Model):
  33.     BLOOD_TYPE = (
  34.         ('1я группа крови (Отрицательная) ', '1я группа крови (Отрицательная)'),
  35.         ('2я группа крови (Отрицательная)', '2я группа крови (Отрицательная)'),
  36.         ('3я группа крови (Отрицательная)', '3я группа крови (Отрицательная)'),
  37.         ('4я группа крови (Отрицательная)', '4я группа крови (Отрицательная)'),
  38.  
  39.         ('1я группа крови (Положительная) ', '1я группа крови (Положительная)'),
  40.         ('2я группа крови (Положительная)', '2я группа крови (Положительная)'),
  41.         ('3я группа крови (Положительная)', '3я группа крови (Положительная)'),
  42.         ('4я группа крови (Положительная)', '4я группа крови (Положительная)'),
  43.     )
  44.     name = models.CharField('Имя', max_length=25, null=False)
  45.     surname = models.CharField('Фамилия', max_length=25, null=False)
  46.     patronymic = models.CharField('Отчество', max_length=25, null=False)
  47.     date_of_birth = models.DateField('Дата рождения роженицы', null=False)
  48.     address = models.ForeignKey(Address, verbose_name='Адрес проживания', on_delete=models.CASCADE)
  49.  
  50.     phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$')
  51.     phone = models.CharField('Контактный номер телефона', validators=[phone_regex], max_length=17, blank=True,db_index=True)
  52.     blood_type = models.CharField('Тип крови',choices=BLOOD_TYPE, max_length=100)
  53.  
  54.  
  55. class Doctor(models.Model):
  56.     name = models.CharField('Имя', max_length=25, null=False)
  57.     surname = models.CharField('Фамилия', max_length=25, null=False)
  58.     patronymic = models.CharField('Отчество', max_length=25, null=False)
  59.     date_of_birth = models.DateField('Дата рождения врача', null=False)
  60.     employment_date = models.DateField('Дата рождения врача', null=False)
  61.     salary = models.PositiveIntegerField('Оклад',null=False)
  62.  
  63.     class Meta:
  64.         verbose_name = 'Врач'
  65.         verbose_name_plural = 'Врач'
  66.         db_table = 'doctor'
  67.  
  68. class Child(models.Model):
  69.     choice = (
  70.         ('Да', 'Да'),
  71.         ('Нет', 'Нет'),
  72.     )
  73.     gender = models.CharField('Гендер',max_length=15, choices=choice, null=False)
  74.     date_of_birth = models.DateTimeField('Дата рождения ребёнка', null=False)
  75.     weight = models.PositiveIntegerField('Вес', null=False)
  76.     growth = models.PositiveIntegerField('Рост', null=False)
  77.  
  78. class Ward(models.Model):
  79.     name = models.CharField('Название', max_length=200, null=True)
  80.  
  81.  
  82. class Childbirth(models.Model):
  83.     choice = (
  84.         ('Да', 'Да'),
  85.         ('Нет', 'Нет'),
  86.     )
  87.     mother_in_labor = models.ForeignKey(Mother_in_labor, on_delete=models.CASCADE, verbose_name="Роженица", null=False)
  88.     start = models.DateTimeField('Начало родов', null=False)
  89.     the_end = models.DateTimeField('Конец родов', null=False)
  90.     cesarean_section= models.CharField('Кесарево сечение',max_length=15, choices=choice, null=False)
  91. #=============================================================================
  92.  
  93. class Childbirth_doctor(models.Model):
  94.     child_birth = models.ForeignKey(Childbirth, verbose_name='Рождение',  on_delete=models.CASCADE)
  95.     doctor = models.ForeignKey(Doctor,verbose_name='Врач' ,on_delete=models.CASCADE)
  96.     start = models.DateTimeField('Начало работы', null=False)
  97.     the_end = models.DateTimeField('Конец работы', null=False)
  98.  
  99. class Childbirth_child(models.Model):
  100.     child_birth = models.ForeignKey(Childbirth, verbose_name='Рождение',  on_delete=models.CASCADE)
  101.     doctor = models.ForeignKey(Child,verbose_name='Ребёнок' ,on_delete=models.CASCADE)
  102.  
  103. class Childbirth_location(models.Model):
  104.     child_birth = models.ForeignKey(Childbirth, verbose_name='Рождение',  on_delete=models.CASCADE)
  105.     ward = models.ForeignKey(Ward, verbose_name='Палата',  on_delete=models.CASCADE)
  106.     start = models.DateTimeField('Начало размещения', null=False)
  107.     the_end = models.DateTimeField('Конец размещения', null=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement