Files
Hulumath-Web/backend/latex_lab/serializers.py
Jacky 1f98f7152d
CI / test (push) Failing after 1m31s
v0.2 Preview: Construction Plan.
2026-08-08 21:25:27 +08:00

29 lines
1018 B
Python

from rest_framework import serializers
from .models import FormulaDocument, FormulaRevision
class FormulaDocumentSerializer(serializers.ModelSerializer):
class Meta:
model = FormulaDocument
fields = ("id", "title", "source", "created_at", "updated_at")
read_only_fields = ("id", "created_at", "updated_at")
def validate_source(self, value):
if len(value) > 50_000:
raise serializers.ValidationError("公式源码不能超过 50000 个字符")
return value
def create(self, validated_data):
document = FormulaDocument.objects.create(
user=self.context["request"].user,
**validated_data,
)
FormulaRevision.objects.create(document=document, source=document.source)
return document
def update(self, instance, validated_data):
instance = super().update(instance, validated_data)
FormulaRevision.objects.create(document=instance, source=instance.source)
return instance