Skip to content

Commit bc89b79

Browse files
committed
fix: include workspace_id in model parameters for get and save methods
1 parent f09a488 commit bc89b79

2 files changed

Lines changed: 24 additions & 9 deletions

File tree

apps/models_provider/serializers/model_serializer.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -479,27 +479,38 @@ def page(self, current_page, page_size):
479479

480480
class ModelParams(serializers.Serializer):
481481
id = serializers.UUIDField(required=True, label=_("model id"))
482+
workspace_id = serializers.UUIDField(required=False, label=_("workspace id"))
482483

483484
def is_valid(self, *, raise_exception=False):
484485
super().is_valid(raise_exception=True)
485-
model = QuerySet(Model).filter(id=self.data.get("id")).first()
486+
487+
validated_data = self.validated_data
488+
model = (
489+
QuerySet(Model)
490+
.filter(
491+
id=validated_data.get("id"),
492+
workspace_id=validated_data.get("workspace_id"),
493+
)
494+
.first()
495+
)
496+
486497
if model is None:
487498
raise AppApiException(500, _("Model does not exist"))
488499

500+
return model
501+
489502
def get_model_params(self, with_valid=True):
503+
model = None
490504
if with_valid:
491-
self.is_valid(raise_exception=True)
492-
model_id = self.data.get("id")
493-
model = QuerySet(Model).filter(id=model_id).first()
505+
model = self.is_valid(raise_exception=True)
494506
return model.model_params_form
495507

496508
def save_model_params_form(self, model_params_form, with_valid=True):
509+
model = None
497510
if with_valid:
498-
self.is_valid(raise_exception=True)
511+
model = self.is_valid(raise_exception=True)
499512
if model_params_form is None:
500513
model_params_form = []
501-
model_id = self.data.get("id")
502-
model = QuerySet(Model).filter(id=model_id).first()
503514
if not isinstance(model_params_form, list):
504515
raise AppApiException(500, _("model_params_form must be a list"))
505516
# 还需要校验几个字段:label required default_value

apps/models_provider/views/model.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,9 @@ class ModelParamsForm(APIView):
230230
RoleConstants.USER.get_workspace_role(),
231231
)
232232
def get(self, request: Request, workspace_id: str, model_id: str):
233-
return result.success(ModelSerializer.ModelParams(data={"id": model_id}).get_model_params())
233+
return result.success(
234+
ModelSerializer.ModelParams(data={"id": model_id, "workspace_id": workspace_id}).get_model_params()
235+
)
234236

235237
@extend_schema(
236238
methods=["PUT"],
@@ -260,7 +262,9 @@ def get(self, request: Request, workspace_id: str, model_id: str):
260262
)
261263
def put(self, request: Request, workspace_id: str, model_id: str):
262264
return result.success(
263-
ModelSerializer.ModelParams(data={"id": model_id}).save_model_params_form(request.data)
265+
ModelSerializer.ModelParams(data={"id": model_id, "workspace_id": workspace_id}).save_model_params_form(
266+
request.data
267+
)
264268
)
265269

266270
class ModelMeta(APIView):

0 commit comments

Comments
 (0)