django人事管理系统数据库设计代码
时间: 2023-09-21 09:02:41 浏览: 47
这里提供一个简单的 Django 人事管理系统的数据库设计代码,包括员工信息、部门信息、职位信息等:
```python
from django.db import models
class Department(models.Model):
name = models.CharField(max_length=50)
description = models.TextField(blank=True)
def __str__(self):
return self.name
class Position(models.Model):
name = models.CharField(max_length=50)
department = models.ForeignKey(Department, on_delete=models.CASCADE)
description = models.TextField(blank=True)
def __str__(self):
return self.name
class Employee(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
email = models.EmailField(blank=True)
phone = models.CharField(max_length=20, blank=True)
address = models.CharField(max_length=100, blank=True)
birthdate = models.DateField(blank=True, null=True)
hiredate = models.DateField(blank=True, null=True)
position = models.ForeignKey(Position, on_delete=models.CASCADE)
salary = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True)
def __str__(self):
return self.first_name + ' ' + self.last_name
```
以上代码定义了三个数据模型:Department、Position 和 Employee,分别表示部门、职位和员工信息。其中,Department 和 Position 之间是一对多的关系,Position 和 Employee 之间也是一对多的关系。这些模型都包含一些字段,例如名称、描述、邮箱、电话、地址、生日、入职日期和薪水等。其中,salary 字段定义为 DecimalField,用于存储员工的薪水。