diff --git a/devices/serializers.py b/devices/serializers.py index 9240886..8ae13ef 100644 --- a/devices/serializers.py +++ b/devices/serializers.py @@ -8,7 +8,7 @@ class CreateDeviceSerializer(serializers.ModelSerializer): name = serializers.CharField(required=True) mac = serializers.CharField(required=True) - class Meta: + class Meta: # type: ignore model = Device fields = [ "name", @@ -25,17 +25,25 @@ class BlockDeviceSerializer(serializers.ModelSerializer): choices=[("ADMIN", "Admin"), ("PARENT", "Parent")], required=True ) - class Meta: + class Meta: # type: ignore model = Device fields = ["blocked", "reason_for_blocking", "blocked_by"] class DeviceSerializer(serializers.ModelSerializer): pending_payment_id = serializers.SerializerMethodField() + user = serializers.SerializerMethodField() - class Meta: - model = Device - fields = "__all__" + def get_user(self, obj): + user = obj.user + if user: + return { + "id": user.id, + "name": user.first_name + " " + user.last_name, + "id_card": user.id_card, + "mobile": user.mobile, + } + return None def get_pending_payment_id(self, obj): # Query the last unpaid payment for the device @@ -46,6 +54,10 @@ class DeviceSerializer(serializers.ModelSerializer): ) return unpaid_payment.id if unpaid_payment else None + class Meta: # type: ignore + model = Device + fields = "__all__" + class ReadOnlyDeviceSerializer(serializers.ModelSerializer): user = CustomReadOnlyUserSerializer(read_only=True)