37909-vm/core/models.py
Flatlogic Bot dc11d7b412 S
2026-01-28 14:28:45 +00:00

54 lines
1.7 KiB
Python

from django.db import models
class Hospital(models.Model):
STATES_CHOICES = [
('BW', 'Baden-Württemberg'),
('BY', 'Bayern'),
('BE', 'Berlin'),
('BB', 'Brandenburg'),
('HB', 'Bremen'),
('HH', 'Hamburg'),
('HE', 'Hessen'),
('MV', 'Mecklenburg-Vorpommern'),
('NI', 'Niedersachsen'),
('NW', 'Nordrhein-Westfalen'),
('RP', 'Rheinland-Pfalz'),
('SL', 'Saarland'),
('SN', 'Sachsen'),
('ST', 'Sachsen-Anhalt'),
('SH', 'Schleswig-Holstein'),
('TH', 'Thüringen'),
]
name = models.CharField(max_length=255)
state = models.CharField(max_length=2, choices=STATES_CHOICES)
city = models.CharField(max_length=100)
address = models.TextField(blank=True)
website = models.URLField(blank=True)
def __str__(self):
return f"{self.name} ({self.get_state_display()})"
class Meta:
verbose_name_plural = "Hospitals"
class DepartmentChief(models.Model):
DEPARTMENT_CHOICES = [
('AN', 'Anesthesia'),
('NU', 'Nursing'),
('IC', 'Intensive Care'),
('SU', 'Surgery'),
('IM', 'Internal Medicine'),
('PE', 'Pediatrics'),
('GY', 'Gynecology'),
('OT', 'Other'),
]
hospital = models.ForeignKey(Hospital, on_delete=models.CASCADE, related_name='chiefs')
name = models.CharField(max_length=255)
title = models.CharField(max_length=100, help_text="e.g. Chief of Medicine, Head Nurse")
department = models.CharField(max_length=2, choices=DEPARTMENT_CHOICES)
email = models.EmailField()
def __str__(self):
return f"{self.name} - {self.get_department_display()} at {self.hospital.name}"