models.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from django.db import models
  2. # ORM - 对象关系映射
  3. # 对象模型 <---> 关系模型
  4. # 实体类 <---> 二维表
  5. # 属性 <---> 列
  6. # 对象 <---> 记录
  7. class Dept(models.Model):
  8. no = models.IntegerField(db_column='deptno', primary_key=True, verbose_name='部门编号')
  9. name = models.CharField(db_column='dname', max_length=20, verbose_name='部门名称')
  10. location = models.CharField(db_column='dloc', max_length=10, verbose_name='部门所在地')
  11. # excellent = models.BooleanField(default=0, verbose_name='是否优秀')
  12. def __str__(self):
  13. return self.name
  14. class Meta:
  15. db_table = 'TbDept'
  16. class Emp(models.Model):
  17. no = models.IntegerField(db_column='empno', primary_key=True)
  18. name = models.CharField(db_column='ename', max_length=20)
  19. job = models.CharField(db_column='job', max_length=10)
  20. # mgr = models.ForeignKey('self', null=True, blank=True, on_delete=models.SET_NULL)
  21. mgr = models.IntegerField(null=True, blank=True)
  22. sal = models.DecimalField(max_digits=7, decimal_places=2)
  23. comm = models.DecimalField(max_digits=7, decimal_places=2, null=True, blank=True)
  24. dept = models.ForeignKey(Dept, db_column='dno', on_delete=models.PROTECT)
  25. class Meta:
  26. db_table = 'TbEmp'