Python-100-Days/Day41-55/code/oa/hrs/models.py

35 lines
1.1 KiB
Python

from django.db import models
# ORM - 对象关系映射
# 对象模型 <---> 关系模型
# 实体类 <---> 二维表
# 属性 <---> 列
# 对象 <---> 记录
class Dept(models.Model):
no = models.IntegerField(primary_key=True, verbose_name='部门编号')
name = models.CharField(max_length=20, verbose_name='部门名称')
location = models.CharField(max_length=10, verbose_name='部门所在地')
excellent = models.BooleanField(default=0, verbose_name='是否优秀')
def __str__(self):
return self.name
class Meta:
db_table = 'tb_dept'
class Emp(models.Model):
no = models.IntegerField(primary_key=True)
name = models.CharField(max_length=20)
job = models.CharField(max_length=10)
mgr = models.ForeignKey('self', null=True, blank=True, on_delete=models.SET_NULL)
# mgr = models.IntegerField(null=True, blank=True)
sal = models.DecimalField(max_digits=7, decimal_places=2)
comm = models.DecimalField(max_digits=7, decimal_places=2, null=True, blank=True)
dept = models.ForeignKey(Dept, on_delete=models.PROTECT)
class Meta:
db_table = 'tb_emp'