poli_planning/polyclinic_scheduling/apps/hospital/models.py

38 lines
1.9 KiB
Python

from django.db import models
from django.utils.translation import gettext_lazy as _
from lib.models.base import MetaDataModel
# Create your models here.
class Hospital(MetaDataModel):
"""
A model that holds the hospital information. This is just basic information just for getting in contact.
It will inherit the attributes :attr:`~lib.models.base.MetaDataModel.created_at` and :attr:`~lib.models.base.MetaDataModel.updated_at` from the Abstract model :class:`~lib.models.base.MetaDataModel`
Attributes
----------
name : str
The name of the hospital. Max length is 200 characters.
address : str
The address of the hospital. Street and housenumber. Max length is 200 characters.
postal_code : str
The postcalcode of the hospital. Max length is 10 characters.
city : str
The city where this hospital is located. Max length is 60 characters.
phone : str
The general phone number of this hospital. Max length is 20 characters.
"""
class Meta:
verbose_name = _('hospital')
verbose_name_plural = _('hospitals')
name = models.CharField(_('Name'), max_length=200, help_text=_('The name of this hospital'))
address = models.CharField(_('Address'), max_length=200, blank=True, help_text=_('The address of this hospital'))
postal_code = models.CharField(_('Postal code'), max_length=10, blank=True, help_text=_('The postal code of this hospital'))
city = models.CharField(_('City'), max_length=60, blank=True, help_text=_('The city of this hospital'))
phone = models.CharField(_('Phone number'), max_length=20, blank=True, help_text=_('The general phone number of this hospital'))
def __str__(self):
"""str: Returns a readable name for the hospital. Format is [hospital_name] ([city])."""
return '{}{}'.format(self.name, ('' if not self.city else ' ({})'.format(self.city)))