serializers.py 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. # coding:utf-8
  2. import datetime
  3. from rest_framework import serializers
  4. from ..models import PhotoForbiddenInfo
  5. class PhotoMonitorListSerializer(serializers.Serializer):
  6. device_name = serializers.CharField(help_text="设备名称", max_length=50)
  7. device_id = serializers.CharField(help_text="设备编码", max_length=50)
  8. photo_num = serializers.IntegerField(help_text="拍照数量", default=0)
  9. msg_info = serializers.CharField(help_text="描述信息")
  10. create_time = serializers.DateTimeField(help_text="封禁时间", default="2021-01-01 11:21:32")
  11. def to_representation(self, instance):
  12. return {
  13. 'id': instance.id,
  14. 'device_name': instance.device_name,
  15. 'device_id': instance.device_id,
  16. 'photo_num': instance.photo_num,
  17. 'msg_info': instance.msg_info,
  18. 'create_time': instance.create_time.strftime('%Y-%m-%d %H:%M:%S')
  19. }
  20. class PhotoMonitorPostSerializer(serializers.Serializer):
  21. device_id = serializers.CharField(help_text="设备编码", max_length=50)
  22. def validate_device_id(self, value):
  23. queryset = PhotoForbiddenInfo.objects.using('siqing').filter(is_allowrd=1, device_id=value).order_by('-id')
  24. if not queryset:
  25. serializers.ValidationError('设备不存在')