serializers.py 文件源码

python
阅读 36 收藏 0 点赞 0 评论 0

项目:State-TalentMAP-API 作者: 18F 项目源码 文件源码
def validate(self, data):
        datasource = self.initial_data

        # Convert incoming string dates into date objects for validation
        for date_key in ["cycle_end_date", "cycle_deadline_date", "cycle_start_date"]:
            date = datasource.get(date_key, None)
            if date:
                datasource[date_key] = datetime.strptime(date, '%Y-%m-%d').date()

        # Update our current data if we have any with new data
        if self.instance:
            instance_data = self.instance.__dict__
            instance_data.update(datasource)
            datasource = instance_data

        # Validate our dates are in a chronologically sound order
        if datasource.get("cycle_end_date") < datasource.get("cycle_start_date"):
            raise serializers.ValidationError("Cycle start date must be before cycle end date")
        if datasource.get("cycle_end_date") < datasource.get("cycle_deadline_date"):
            raise serializers.ValidationError("Cycle deadline date must be on or before the cycle end date")
        if datasource.get("cycle_deadline_date") < datasource.get("cycle_start_date"):
            raise serializers.ValidationError("Cycle deadline date must be after cycle start date")

        return data
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号