一.多对一关系
类似于一个公司有多个员工,多个员工隶属于一个公司。
可以用foreign key来指定多对一的关系
class Department(models.Model): # 主表
dep_name = models.CharField(max_length=20,verbose_name='部门名称')
desc = models.CharField(max_length=20,verbose_name='部门描述')
class Meta: # 从表
verbose_name = "部门表"
verbose_name_plural = verbose_name
db_table = 'department'
def __str__(self):
return self.dep_name
class Employee(models.Model):
emp_name = models.CharField(max_length=20,verbose_name='姓名')
job = models.CharField(max_length=20,verbose_name='职位')
salary = models.IntegerField(verbose_name='工资')
dapartment = models.ForeignKey(to=Department, on_delete=models.CASCADE, verbose_name='部门')
class Meta:
verbose_name = "员工表"
verbose_name_plural = verbose_name
db_table = 'employee'
def __str__(self):
return self.emp_name
1.级联操作:主表数据删除,从表怎么办
黑板老大 小弟
挂了 殉情 CASCADE
挂了 抢救过来,不让挂 PROTECT
挂了 不要老大了,自己过自己的 SET_NULL
挂了 再找一个新的老大 SET_DEFAULT
2.多对一的增删改操作
增
class DepartmentView(View):
def get(self,r