serializers.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # coding=utf-8
  2. from rest_framework import serializers
  3. from .models import *
  4. from utils.booleancharfield import PriceShowCharField
  5. from apps.base import Formater
  6. class ConfigSerializer(serializers.ModelSerializer):
  7. class Meta:
  8. model = Config
  9. fields = '__all__'
  10. class BalanceSerializer(serializers.ModelSerializer):
  11. create_user_text = serializers.CharField(source='create_user.username', read_only=True)
  12. balance = PriceShowCharField(read_only=True)
  13. date_joined_f = serializers.DateTimeField(source='create_user.date_joined', format=settings.SHORT_DATETIME_FORMAT,
  14. read_only=True)
  15. class Meta:
  16. model = Balance
  17. fields = '__all__'
  18. class BalanceLogSerializer(serializers.ModelSerializer):
  19. create_time_f = serializers.DateTimeField(source='create_time', format=settings.SHORT_DATETIME_FORMAT,
  20. read_only=True)
  21. create_user_text = serializers.CharField(source='create_user.username', read_only=True)
  22. amount = PriceShowCharField(read_only=True)
  23. balance = serializers.SerializerMethodField()
  24. def get_balance(self, obj):
  25. balance = Balance.objects.filter(create_user=obj.create_user).first()
  26. return Formater.formatPriceShow(balance.balance)
  27. class Meta:
  28. model = BalanceLog
  29. fields = '__all__'
  30. class PosterSerializer(serializers.ModelSerializer):
  31. create_user_name = serializers.CharField(source='create_user.employee.name', read_only=True)
  32. class Meta:
  33. model = Poster
  34. fields = '__all__'