21 lines
881 B
Python
21 lines
881 B
Python
# backend/formulas/views/formula.py
|
|
from rest_framework.viewsets import ModelViewSet
|
|
from formulas.models.formula import Formula
|
|
from formulas.serializers.formula import FormulaSerializer
|
|
from formulas.permissions import IsAdminOrEditor
|
|
from rest_framework.decorators import action
|
|
from rest_framework.response import Response
|
|
from formulas.serializers import SymbolSerializer
|
|
|
|
class FormulaViewSet(ModelViewSet):
|
|
queryset = Formula.objects.all()
|
|
serializer_class = FormulaSerializer
|
|
permission_classes = [IsAdminOrEditor]
|
|
lookup_field = "code"
|
|
|
|
@action(detail=True, methods=['get'], url_path='symbols')
|
|
def get_symbols(self, request, code=None):
|
|
formula = self.get_object()
|
|
symbols = formula.symbols.all()
|
|
serializer = SymbolSerializer(symbols, many=True)
|
|
return Response(serializer.data) |