debug4
All checks were successful
Deploy to Server / deploy (push) Successful in 21s

This commit is contained in:
jeremygan2021
2026-03-23 00:15:21 +08:00
parent ed6905a22e
commit f1f1e0df5a
3 changed files with 36 additions and 1 deletions

View File

@@ -39,15 +39,29 @@ class CompetitionEnrollmentSerializer(serializers.ModelSerializer):
class ProjectFileSerializer(serializers.ModelSerializer):
file_url_display = serializers.SerializerMethodField()
file_size_display = serializers.SerializerMethodField()
class Meta:
model = ProjectFile
fields = ['id', 'project', 'file_type', 'file', 'file_url', 'name', 'created_at', 'file_url_display']
fields = ['id', 'project', 'file_type', 'file', 'file_url', 'file_size', 'name', 'created_at', 'file_url_display', 'file_size_display']
def get_file_url_display(self, obj):
if obj.file:
return obj.file.url
return obj.file_url
def get_file_size_display(self, obj):
if not obj.file_size:
return None
size = obj.file_size
if size < 1024:
return f"{size} B"
elif size < 1024 * 1024:
return f"{size / 1024:.1f} KB"
elif size < 1024 * 1024 * 1024:
return f"{size / (1024 * 1024):.1f} MB"
else:
return f"{size / (1024 * 1024 * 1024):.2f} GB"
def validate_file(self, value):
if not value:
@@ -87,6 +101,8 @@ class ProjectFileSerializer(serializers.ModelSerializer):
if not validated_data.get('name'):
validated_data['name'] = file_obj.name
validated_data['file_size'] = file_obj.size
try:
from ai_services.services import AliyunTingwuService
service = AliyunTingwuService()