#2
傻眼猫咪2021-08-02 16:19
不知道對你有沒有幫助,以下為我的代碼
程序代码: from datetime import * # 默認所有有關資料為d,d為全局屬性 d = { '姓名': 'None', '性别': 'None', '档案编号': 'None', '身份证号': 'None', '籍贯': 'None', '民族': 'None', '出生日期': 'None', '参加工作时间': 'None', '进入医院时间': 'None', '最初学历': 'None', '最高学历': 'None', } class job_title: # 主類/父類 (parent class) def __init__(self, title): self.title = title[:50] # 局限50字 def __str__(self): return self.title class employees(job_title): # 副類/子類 (child class),對象(object)的括號裡必須輸入父類名稱job_title # 子類方法隱性繼承父類方法 def __init__(self, title, data=d): self.data = data job_title.__init__(self, title) # 這裡開始繼承父類所有 def update_info(self, dt, value): # 如果需要更新資料,可調用此函數 if (dt == '出生日期') or (dt == '参加工作时间') or (dt == '进入医院时间'): value = list(map(int, value.split('/'))) # 我這裡是用'/'區隔,當然你也可以用'-'或其他 years, months, days = value[0], value[1], value[2] try: DATE = datetime(years, months, days) value = DATE.strftime("%Y")+'年'+DATE.strftime("%m")+'月'+DATE.strftime("%d")+'日' self.data.update({dt: value[:50]}) # 局限50字 except: print("日期形態必須輸入年月日格式: YYYY/mm/dd") else: self.data.update({dt: value[:50]}) # 局限50字 if __name__ == '__main__': # 以下為範例 person = employees('魔法師') # 創建一個類,名為person,參數:title是'魔法師' person.update_info('民族', '火星族') # 默認值為'None',更新資料為'火星族' person.update_info('最初学历', '菜鳥等級') # 如上 person.update_info('参加工作时间', '2018/3/18') # 嘗試輸入日期形態 print(person.data) # 試列印出已更新的所有資料 |
class Job_title(models.Model):
job = models.CharField(verbose_name='职称管理', max_length=50)
class Meta:
verbose_name = '职称管理'
verbose_name_plural = '职称管理'
def __str__(self):
return self.job
class Employees(models.Model):
name = models.CharField(verbose_name='姓名', max_length=50)
sex = models.CharField(verbose_name='性别', max_length=50)
files_id = models.CharField(verbose_name='档案编号', max_length=50)
id_number = models.CharField(verbose_name='身份证号', max_length=50)
native_place = models.CharField(verbose_name='籍贯', max_length=50)
nation = models.CharField(verbose_name='民族', max_length=50)
birthdate = models.DateField(verbose_name='出生日期')
work_date = models.DateField(verbose_name='参加工作时间')
join_date = models.DateField(verbose_name='进入医院时间')
o_education = models.CharField(verbose_name='最初学历', max_length=50)
n_education = models.CharField(verbose_name='最高学历', max_length=50)
job_title = models.ForeignKey(Job_title, verbose_name='现凭职称', on_delete=models.CASCADE, blank=True, null=True)
employ_date = models.DateField(verbose_name='凭现职称时间')
u_job_title=models.ForeignKey(Job_title, verbose_name='未凭职称', on_delete=models.CASCADE, blank=True, null=True)
# get_date = models.DateField(verbose_name='取得未凭时间', blank=True, null=True)
怎样才能两列同时关联一张表?麻烦哪位老师帮忙指点