from django.core.validators import MinValueValidator from django.db import models # Create your models here. class Admin(models.Model): """ 管理员 """ username = models.CharField(verbose_name="用户名", max_length=32) password = models.CharField(verbose_name="密码", max_length=64) def __str__(self): return self.username class Department(models.Model): """ 部门表 """ title = models.CharField(verbose_name='标题', max_length=32) def __str__(self): return self.title class UserInfo(models.Model): """ 员工表 """ name = models.CharField(verbose_name="姓名", max_length=16) password = models.CharField(verbose_name="密码", max_length=64) age = models.IntegerField(verbose_name="年龄", validators=[MinValueValidator(0, message="年龄不能为负数")]) account = models.DecimalField(verbose_name="工资", max_digits=10, decimal_places=2, default=0, validators=[MinValueValidator(0, message="工资不能为负数")]) create_time = models.DateField(verbose_name="入职时间") # 无约束 # depart_id = models.BigIntegerField(verbose_name="部门ID") # 1.有约束 # - to,与那张表关联 # - to_field,表中的那一列关联 # 2.django自动 # - 写的depart # - 生成数据列 depart_id # 3.部门表被删除 # ### 3.1 级联删除 depart = models.ForeignKey(verbose_name='部门', to="Department", to_field="id", on_delete=models.CASCADE) # ### 3.2 置空 # depart = models.ForeignKey(to="Department", to_field="id", null=True, blank=True, on_delete=models.SET_NULL) # 在django中做的约束 gender_choices = ( (1, "男"), (2, "女"), ) gender = models.SmallIntegerField(verbose_name="性别", choices=gender_choices)