负情绪是真的烦人,要是每天都单纯的像个孩子就好啦!
社会有时候真的好复杂,每个人的情绪都会相互影响,努力保持自己吧!
今天的内容是创建一个models,附上代码 (知识点呢)
- unique代表唯一
- 当字段为int时,如果要求可为空,则需要blank=true,和null = true
- choices为选择器
- DecimalField为支持固定精度的十进制数,有decimal_places代表小数位,max_digits代表整数最大位
- 定义Meta ,比如表名,所有非字段的东西都在这里定义!详见丢下方
- 其他详见 https://docs.djangoproject.com/zh-hans/4.0/ref/models/fields/#
FIRST_INTERVIEW_RESULT_TYPE = ((u'建议复试', u'建议复试'), (u'待定', u'待定'), (u'放弃', u'放弃'))
INTERVIEW_RESULT_TYPE = ((u'建议录用', u'建议录用'), (u'待定', u'待定'), (u'放弃', u'放弃'))
DEGREE_TYPE = ((u'本科', u'本科'), (u'研究所', u'研究所'), (u'博士', u'博士'))
HR_SCORE_TYPE = ((u'S', u'S'), (u'A', u'A'), (u'B', u'B'))
class Candidate(models.Model):
# 基础信息
userid = models.IntegerField(unique=True, blank=True, null=True, verbose_name=u'应聘者id')
username = models.CharField(max_length=135, verbose_name=u'应聘者昵称')
city = models.CharField(max_length=135, verbose_name=u'应聘者城市')
phone = models.CharField(max_length=135, verbose_name=u'应聘者手机号')
email = models.EmailField(max_length=135, blank=True, verbose_name=u'应聘者邮箱')
apply_position = models.CharField(max_length=135, blank=True, verbose_name=u'应聘者职位')
born_address = models.CharField(max_length=135,blank=True, verbose_name=u'应聘者生源地')
gender = models.CharField(max_length=135, verbose_name=u'性别')
candidate_remark = models.CharField(max_length=135, blank=True, verbose_name=u'候选人信息备注')
# 学校与学历信息
bachelor_school = models.CharField(max_length=135, blank=True, verbose_name=u'本科学校')
master_school = models.CharField(max_length=135, blank=True, verbose_name=u'研究所学校')
doctor_school = models.CharField(max_length=135, blank=True, verbose_name=u'博士生学校')
major = models.CharField(max_length=135, blank=True, verbose_name=u'专业')
degree = models.CharField(max_length=135,choices=DEGREE_TYPE, blank=True, verbose_name=u'应聘者昵称')
# 综合能力测评成绩,笔记成绩
test_score_of_general_ability = models.DecimalField(decimal_places=1, null=True, max_digits=3, blank=True,
verbose_name=u'综合能力测评成绩')
paper_score = models.DecimalField(decimal_places=1, null=True, max_digits=3, blank=True, verbose_name=u'笔试成绩')
# 第一轮面试记录
first_score = models.DecimalField(decimal_places=1, null=True, max_digits=2, blank=True, verbose_name=u'初试分')
first_learning_ability = models.DecimalField(decimal_places=1, null=True, max_digits=2, blank=True,
verbose_name=u'学习能力得分')
first_professional_competency = models.DecimalField(decimal_places=1, null=True, max_digits=2, blank=True,
verbose_name=u'专业能力得分')
first_disadvantage = models.TextField(max_length=1024, blank=True, verbose_name=u'顾虑和不足')
first_advantage = models.TextField(max_length=1024, blank=True, verbose_name=u'优势')
first_result = models.CharField(max_length=256, choices=FIRST_INTERVIEW_RESULT_TYPE, blank=True,
verbose_name=u'初试结果')
first_recommend_position = models.CharField(max_length=256, blank=True, verbose_name=u'推荐部门')
first_interviewer = models.CharField(max_length=256, blank=True, verbose_name=u'面试官')
first_remark = models.CharField(max_length=135, blank=True, verbose_name=u'初试备注')
# 第二轮面试记录
second_score = models.DecimalField(decimal_places=1, null=True, max_digits=2, blank=True, verbose_name=u'复试分')
second_learning_ability = models.DecimalField(decimal_places=1, null=True, max_digits=2, blank=True,
verbose_name=u'学习能力得分')
second_professional_competency = models.DecimalField(decimal_places=1, null=True, max_digits=2, blank=True,
verbose_name=u'专业能力得分')
second_pursue_of_excellence = models.DecimalField(decimal_places=1, null=True, max_digits=2, blank=True,
verbose_name=u'追求卓越得分')
second_communication_ability = models.DecimalField(decimal_places=1, null=True, max_digits=2, blank=True,
verbose_name=u'沟通能力得分')
second_pressure_score = models.DecimalField(decimal_places=1, null=True, max_digits=2, blank=True,
verbose_name=u'抗压能力得分')
second_disadvantage = models.TextField(max_length=1024, blank=True, verbose_name=u'顾虑和不足')
second_advantage = models.TextField(max_length=1024, blank=True, verbose_name=u'优势')
second_result = models.CharField(max_length=256, choices=FIRST_INTERVIEW_RESULT_TYPE, blank=True,
verbose_name=u'复试结果')
second_recommend_position = models.CharField(max_length=256, blank=True, verbose_name=u'推荐部门')
second_interviewer = models.CharField(max_length=256, blank=True, verbose_name=u'面试官')
second_remark = models.CharField(max_length=135, blank=True, verbose_name=u'复试备注')
# HR终面
hr_score = models.CharField(max_length=10, choices=DEGREE_TYPE, blank=True, verbose_name=u'HR复试综合等级')
hr_responsibility = models.CharField(max_length=10, choices=HR_SCORE_TYPE, blank=True, verbose_name=u'责任心')
hr_communication_ability = models.CharField(max_length=10, choices=HR_SCORE_TYPE, blank=True, verbose_name=u'坦诚沟通')
hr_logic_ability = models.CharField(max_length=10, choices=HR_SCORE_TYPE, blank=True, verbose_name=u'逻辑思维')
hr_potential = models.CharField(max_length=10, choices=HR_SCORE_TYPE, blank=True, verbose_name=u'发展潜力')
hr_stability = models.CharField(max_length=10, choices=HR_SCORE_TYPE, blank=True, verbose_name=u'稳定性')
hr_disadvantage = models.TextField(max_length=1024, blank=True, verbose_name=u'顾虑和不足')
hr_advantage = models.TextField(max_length=1024, blank=True, verbose_name=u'优势')
hr_result = models.CharField(max_length=256, choices=FIRST_INTERVIEW_RESULT_TYPE, blank=True,
verbose_name=u'HR复试结果')
hr_interviewer = models.CharField(max_length=256, blank=True, verbose_name=u'HR面试官')
hr_remark = models.CharField(max_length=135, blank=True, verbose_name=u'HR复试备注')
creator = models.CharField(max_length=256, blank=True, verbose_name=u'候选人数据的创建人')
created_data = models.DateTimeField(auto_now_add=True, blank=True, verbose_name=u'创建时间')
modified_date = models.DateTimeField(auto_now=True, blank=True, verbose_name=u'更新时间')
last_editor = models.CharField(max_length=256, blank=True, verbose_name=u'最后编辑者')
class Meta:
db_table = u'candidate'
verbose_name = u'应聘者'
verbose_name_plural = u'应聘者'
# 当我们把这个对象转换成字符串的时候,就直接调用这个函数的返回值,使用候选人的名字,作为展示对象
def __str__(self):
return self.username
Meta:
模型的元数据即“所有不是字段的东西”,比如排序选项( ordering ),数据库表名( db_table ),或是阅读友好的单复数名( verbose_name 和 verbose_name_plural )。这些都不是必须的,并且在模型当中添加 Meta类 也完全是可选的。
具体在 https://docs.djangoproject.com/zh-hans/4.0/ref/models/options/ 里面有所有的可选项
from django.db import models
class Ox(models.Model):
horn_length = models.IntegerField()
class Meta:
ordering = ["horn_length"]
verbose_name_plural = "oxen"