28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
|
from django.db import models
|
||
|
|
||
|
|
||
|
class PrimaryDepartment(models.Model):
|
||
|
department_name = models.CharField(max_length=255, unique=True, blank=False, verbose_name='部门名称')
|
||
|
description = models.TextField(blank=True, verbose_name='描述')
|
||
|
|
||
|
class Meta:
|
||
|
verbose_name = '一级部门表'
|
||
|
verbose_name_plural = '一级部门表'
|
||
|
|
||
|
def __str__(self):
|
||
|
return self.department_name
|
||
|
|
||
|
|
||
|
class SecondaryDepartment(models.Model):
|
||
|
primary_department = models.ForeignKey('PrimaryDepartment', on_delete=models.CASCADE, verbose_name='一级部门')
|
||
|
department_name = models.CharField(max_length=255, blank=False, verbose_name='二级部门名称')
|
||
|
description = models.TextField(blank=True, verbose_name='描述')
|
||
|
|
||
|
class Meta:
|
||
|
verbose_name = '二级部门表'
|
||
|
verbose_name_plural = '二级部门表'
|
||
|
unique_together = (('primary_department', 'department_name'),) # 确保同一一级部门下的二级部门名称唯一
|
||
|
|
||
|
def __str__(self):
|
||
|
return f"{self.primary_department.department_name} - {self.department_name}"
|