serializers.py 5.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. from rest_framework import serializers
  2. from .models import AsnListModel, AsnDetailModel
  3. from utils import datasolve
  4. class ASNListGetSerializer(serializers.ModelSerializer):
  5. code = serializers.CharField(read_only=True, required=False)
  6. asn_code = serializers.CharField(read_only=True, required=False)
  7. asn_status = serializers.CharField(read_only=True, required=False)
  8. asn_type = serializers.CharField(read_only=True, required=False)
  9. goods_code = serializers.CharField(read_only=True, required=False)
  10. goods_desc = serializers.CharField(read_only=True, required=False)
  11. goods_qty = serializers.IntegerField(read_only=True, required=False)
  12. goods_weight = serializers.FloatField(read_only=True, required=False)
  13. creater = serializers.CharField(read_only=True, required=False)
  14. create_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S')
  15. update_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S')
  16. class Meta:
  17. model = AsnListModel
  18. exclude = ['openid', 'is_delete', ]
  19. read_only_fields = ['id', 'openid', ]
  20. class ASNListPostSerializer(serializers.ModelSerializer):
  21. openid = serializers.CharField(read_only=False, required=False, validators=[datasolve.openid_validate])
  22. asn_code = serializers.CharField(read_only=False, required=False, validators=[datasolve.asn_data_validate])
  23. code = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  24. asn_status = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  25. asn_type = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  26. goods_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  27. goods_desc = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  28. goods_qty = serializers.IntegerField(read_only=False, required=True, validators=[datasolve.qty_0_data_validate])
  29. goods_weight = serializers.FloatField(read_only=False, required=True, validators=[datasolve.qty_0_data_validate])
  30. creater = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  31. class Meta:
  32. model = AsnListModel
  33. exclude = ['is_delete', ]
  34. read_only_fields = ['id', 'create_time', 'update_time', ]
  35. class ASNDetailGetSerializer(serializers.ModelSerializer):
  36. asn_code = serializers.CharField(read_only=True, required=False)
  37. asn_status = serializers.CharField(read_only=True, required=False)
  38. asn_type = serializers.CharField(read_only=True, required=False)
  39. goods_code = serializers.CharField(read_only=True, required=False)
  40. goods_desc = serializers.CharField(read_only=True, required=False)
  41. goods_qty = serializers.IntegerField(read_only=True, required=False)
  42. goods_weight = serializers.FloatField(read_only=True, required=False)
  43. warehouse_code = serializers.CharField(read_only=True, required=False)
  44. warehouse_name = serializers.CharField(read_only=True, required=False)
  45. shelf_name = serializers.CharField(read_only=True, required=False)
  46. container_code = serializers.CharField(read_only=True, required=False)
  47. creater = serializers.CharField(read_only=True, required=False)
  48. create_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S')
  49. class Meta:
  50. model = AsnDetailModel
  51. exclude = ['openid', 'is_delete', ]
  52. read_only_fields = ['id', 'openid']
  53. class ASNDetailPostSerializer(serializers.ModelSerializer):
  54. openid = serializers.CharField(read_only=False, required=False, validators=[datasolve.openid_validate])
  55. asn_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  56. asn_status = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  57. asn_type = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  58. goods_code = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  59. goods_desc = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  60. goods_qty = serializers.IntegerField(read_only=False, required=False, validators=[datasolve.qty_0_data_validate])
  61. goods_weight = serializers.FloatField(read_only=False, required=False, validators=[datasolve.qty_0_data_validate])
  62. warehouse_code = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  63. warehouse_name = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  64. shelf_name = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  65. container_code = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  66. creater = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  67. class Meta:
  68. model = AsnDetailModel
  69. exclude = ['is_delete', ]
  70. read_only_fields = ['id', 'create_time', 'update_time', ]