Files
website-v2/versions/serializers.py
Natalia a8cd8f507a Ran pre-commit run -a
Completed runs of black and rest of pre-commit checks.
2023-05-30 23:21:53 -03:00

29 lines
828 B
Python
Executable File

from rest_framework import serializers
from versions.models import Version, VersionFile
class VersionFileSerializer(serializers.ModelSerializer):
url = serializers.SerializerMethodField()
filename = serializers.SerializerMethodField()
class Meta:
model = VersionFile
fields = ["id", "filename", "checksum", "operating_system", "url"]
def get_url(self, obj):
request = self.context.get("request")
file_url = obj.file.url
return request.build_absolute_uri(file_url)
def get_filename(self, obj):
return obj.file.name
class VersionSerializer(serializers.ModelSerializer):
files = VersionFileSerializer(many=True, read_only=True)
class Meta:
model = Version
fields = ["id", "name", "release_date", "description", "active", "files"]