You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
3.9 KiB
102 lines
3.9 KiB
from django.db import models
|
|
|
|
# 患者表
|
|
class Patient(models.Model):
|
|
phone = models.CharField(u'患者号码', max_length=11)
|
|
password = models.CharField(u'患者密码', max_length=32)
|
|
name = models.CharField(u'患者姓名', max_length=32)
|
|
sex = models.CharField(u'患者性别', max_length=10)
|
|
age = models.CharField(u'患者年龄', max_length=3)
|
|
|
|
class Meta:
|
|
verbose_name = u'患者'
|
|
verbose_name_plural = u'患者列表'
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
class Department(models.Model):
|
|
name = models.CharField(u'科室名称', max_length=32)
|
|
address = models.CharField(u'科室地址', max_length=32)
|
|
|
|
class Meta:
|
|
verbose_name = u'科室'
|
|
verbose_name_plural = u'科室列表'
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
class Doctor(models.Model):
|
|
phone = models.CharField(u'医生号码', max_length=11)
|
|
password = models.CharField(u'医生密码', max_length=32)
|
|
name = models.CharField(u'医生姓名', max_length=32)
|
|
sex = models.CharField(u'医生性别', max_length=1)
|
|
age = models.CharField(u'医生年龄', max_length=3)
|
|
img = models.ImageField(u'医生照片', upload_to='doctor/')
|
|
level = models.CharField(u'职位等级', max_length=32)
|
|
description = models.CharField(u'详情描述', max_length=256)
|
|
registration_price = models.IntegerField(u'挂号价格')
|
|
department = models.ForeignKey(Department, verbose_name=u'科室', on_delete=models.CASCADE)
|
|
|
|
def getDepartment(self):
|
|
return Department.objects.get(id=self.department)
|
|
|
|
class Meta:
|
|
verbose_name = u'医生'
|
|
verbose_name_plural = u'医生列表'
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
class TimeNumber(models.Model):
|
|
eight = models.IntegerField(u'八点可预约人数')
|
|
nine = models.IntegerField(u'九点可预约人数')
|
|
ten = models.IntegerField(u'十点可预约人数')
|
|
eleven = models.IntegerField(u'十一点可预约人数')
|
|
fourteen = models.IntegerField(u'十四点可预约人数')
|
|
fifteen = models.IntegerField(u'十五点可预约人数')
|
|
sixteen = models.IntegerField(u'十六点可预约人数')
|
|
seventeen = models.IntegerField(u'十七点可预约人数')
|
|
doctor = models.ForeignKey(Doctor, verbose_name=u'医生', on_delete=models.CASCADE)
|
|
default_number = models.PositiveSmallIntegerField(u'默认一个时间点可预约人数')
|
|
|
|
def allNumberSetDefault(self): # 设置默认一个时间点可预约人数
|
|
self.eight = self.default_number
|
|
self.nine = self.default_number
|
|
self.ten = self.default_number
|
|
self.eleven = self.default_number
|
|
self.fourteen = self.default_number
|
|
self.fifteen = self.default_number
|
|
self.sixteen = self.default_number
|
|
self.seventeen = self.default_number
|
|
|
|
class Meta:
|
|
verbose_name = u'某时间点可预约人数'
|
|
verbose_name_plural = u'某时间点可预约人数列表'
|
|
|
|
|
|
class Register(models.Model):
|
|
patient = models.ForeignKey(Patient, verbose_name=u'患者姓名', on_delete=models.CASCADE)
|
|
doctor = models.ForeignKey(Doctor, verbose_name=u'医生姓名', on_delete=models.CASCADE)
|
|
registration_time = models.DateTimeField(u'挂号时间')
|
|
consultation_hour = models.DateTimeField(u'会诊时间')
|
|
illness = models.CharField(u'病情描述', max_length=256)
|
|
address = models.CharField(u'会诊地址', max_length=256)
|
|
out_trade_num = models.UUIDField(u'商户订单号')
|
|
status = models.CharField(u'状态', max_length=32,default='未支付')
|
|
payway = models.CharField(u'支付方式', max_length=32,default='alipay')
|
|
|
|
def getPatient(self):
|
|
return Patient.objects.get(id=self.patient)
|
|
|
|
def getDoctor(self):
|
|
return Doctor.objects.get(id=self.doctor)
|
|
|
|
class Meta:
|
|
verbose_name = u'挂号单'
|
|
verbose_name_plural = u'挂号单列表'
|
|
|
|
def __str__ (self):
|
|
return str(self.id)
|
|
|