关于员工管理的后端模型类

DRF视图

  • Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用。
  • 它提供了序列化器Serialzier & ModelSerializer 的定义,可以帮助我们简化序列化与反序列化的过程。

  • 提供丰富的类视图、扩展类、视图集来简化视图的编写工作。

  • 还提供了认证、权限、频率、过滤、分页、接口文档等功能。

  • REST framework提供了一个API 的Web可视化界面, 方便查看、测试接口。

DRF视图的特点

  • 提供了定义序列化器的方法,可以快速将 模型类对象转为字典,便于序列化;

  • 提供了丰富的类视图、Mixin扩展类,简化视图的编写;

  • 丰富的定制层级:函数视图、类视图、视图集合到自动生成 API,满足各种需要;

  • 多种身份认证和权限认证方式的支持;[jwt]

  • 内置了限流系统;

  • 直观的 API web 界面;【方便我们调试开发api接口】

  • 可扩展性,插件丰富

模型类的创建

首先我们要有一个部门的表

class Department(models.Model):
    name = models.CharField(max_length=30)
    class Meta:
        db_table = 'Department'
    def __str__(self):
        return self.name

然后我们还需一个职务的表

class Duty(models.Model):
    """
    职务
    """
    name = models.CharField(max_length=30, verbose_name='职务名称')
    
    def __str__(self):
        return self.name
    
    class Meta:
        db_table = 'tb_duty'

然后我们需要定义一个最重要的,也就是员工表

class Staff(models.Model):  # 不能也继承BaseModel,会冲突
    """
    员工
    """
    SEX_CHOICE = (
        (1, '男'),
        (2, '女')
    )
    department = models.ForeignKey(Department, on_delete=models.CASCADE)
    duty = models.ForeignKey(Duty, on_delete=models.CASCADE)
    name = models.CharField(max_length=30, verbose_name='姓名')
    sex = models.IntegerField(choices=SEX_CHOICE, default=1, verbose_name='性别')
    phone = models.CharField(max_length=11, verbose_name='手机号')
    email = models.EmailField(max_length=60, verbose_name='邮箱')
    census_register = models.CharField(max_length=200, verbose_name='户籍')
    def __str__(self):
        return self.name

    class Meta:
        db_table = 'tb_staff'

这里的模型类会跟前面的模型类进行关联

如果有需要的话也可以加上员工的入职时间之类的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值