DjangoRF-7-环境模块environment接口

1、强化接口顺序,models==>serializers==>(permission)>views>urls

2、models.模块在前面已经编写。

3、在projects.serializers中创建序列化器类。

class EnvironmentSerializer(serializers.ModelSerializer):

    class Meta:
        model = Environment
        exclude = ['is_delete', 'u_time']
        # 手写联合唯一的约束,因为新的django联合唯一写法,drf不能自动识别
        validators = [
            UniqueTogetherValidator(queryset=model.objects.all(), fields=['project', 'name'])
        ]

    # 因为不能检测到项目已删除
    # def validate_project(self, value):
    #     if value.is_delete:
    #         raise serializers.ValidationError('已删除的项目不能使用')
    # 
    #     return value

4、写views.py

class EnvironmentViewSet(ModelViewSet):

    serializer_class = EnvironmentSerializer
    queryset = Environment.objects.all()
    permission_classes = [IsAuthenticated]  # 登录权限才能看滴
    def get_queryset(self):
    	queryset = super().get_queryset()

     	project_id = self.request.query_params.get('project')
        if project_id is not None:
            queryset = queryset.filter(project=project_id)
        return queryset

5、添加urls.调试接口即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值