refactor: shared model
This commit is contained in:
parent
716b073b80
commit
92fd481aff
@ -334,35 +334,22 @@ class ModelSerializer(serializers.Serializer):
|
|||||||
self.is_valid(raise_exception=True)
|
self.is_valid(raise_exception=True)
|
||||||
|
|
||||||
query_params = self._build_query_params(workspace_id)
|
query_params = self._build_query_params(workspace_id)
|
||||||
return self._fetch_models(query_params)
|
return [self._build_model_data(model) for model in query_params.order_by("-create_time")]
|
||||||
|
|
||||||
def model_list(self, workspace_id, with_valid=True):
|
def model_list(self, workspace_id, with_valid=True):
|
||||||
if with_valid:
|
if with_valid:
|
||||||
self.is_valid(raise_exception=True)
|
self.is_valid(raise_exception=True)
|
||||||
queryset = self._build_query_params(workspace_id)
|
queryset = self._build_query_params(workspace_id)
|
||||||
model_workspace_authorization = DatabaseModelManage.get_model("model_workspace_authorization")
|
model_workspace_authorization = DatabaseModelManage.get_model("model_workspace_authorization")
|
||||||
if model_workspace_authorization is not None:
|
|
||||||
queryset = get_authorized_tool(queryset, workspace_id,
|
|
||||||
model_workspace_authorization=model_workspace_authorization)
|
|
||||||
shared_model = []
|
|
||||||
normal_model = []
|
|
||||||
|
|
||||||
for model in queryset.order_by("-create_time"):
|
shared_queryset = QuerySet(Model).filter(workspace_id='None')
|
||||||
data = {
|
if model_workspace_authorization is not None:
|
||||||
'id': str(model.id),
|
shared_queryset = get_authorized_tool(QuerySet(Model), workspace_id,
|
||||||
'provider': model.provider,
|
model_workspace_authorization=model_workspace_authorization)
|
||||||
'name': model.name,
|
|
||||||
'model_type': model.model_type,
|
# 构建共享模型和普通模型列表
|
||||||
'model_name': model.model_name,
|
shared_model = [self._build_model_data(model) for model in shared_queryset.order_by("-create_time")]
|
||||||
'status': model.status,
|
normal_model = [self._build_model_data(model) for model in queryset.order_by("-create_time")]
|
||||||
'meta': model.meta,
|
|
||||||
'user_id': model.user_id,
|
|
||||||
'username': model.user.nick_name
|
|
||||||
}
|
|
||||||
if model.workspace_id == 'None':
|
|
||||||
shared_model.append(data)
|
|
||||||
else:
|
|
||||||
normal_model.append(data)
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"shared_model": shared_model,
|
"shared_model": shared_model,
|
||||||
@ -384,21 +371,18 @@ class ModelSerializer(serializers.Serializer):
|
|||||||
queryset = queryset.filter(**{field: value})
|
queryset = queryset.filter(**{field: value})
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
def _fetch_models(self, query_params):
|
def _build_model_data(self, model):
|
||||||
return [
|
return {
|
||||||
{
|
'id': str(model.id),
|
||||||
'id': str(model.id),
|
'provider': model.provider,
|
||||||
'provider': model.provider,
|
'name': model.name,
|
||||||
'name': model.name,
|
'model_type': model.model_type,
|
||||||
'model_type': model.model_type,
|
'model_name': model.model_name,
|
||||||
'model_name': model.model_name,
|
'status': model.status,
|
||||||
'status': model.status,
|
'meta': model.meta,
|
||||||
'meta': model.meta,
|
'user_id': model.user_id,
|
||||||
'user_id': model.user_id,
|
'username': model.user.nick_name
|
||||||
'username': model.user.nick_name
|
}
|
||||||
}
|
|
||||||
for model in Model.objects.filter(**query_params).order_by("-create_time")
|
|
||||||
]
|
|
||||||
|
|
||||||
class ModelParams(serializers.Serializer):
|
class ModelParams(serializers.Serializer):
|
||||||
id = serializers.UUIDField(required=True, label=_('model id'))
|
id = serializers.UUIDField(required=True, label=_('model id'))
|
||||||
|
|||||||
@ -21,7 +21,7 @@ from common.utils.common import query_params_to_single_dict
|
|||||||
from models_provider.api.model import ModelCreateAPI, GetModelApi, ModelEditApi, ModelListResponse, DefaultModelResponse
|
from models_provider.api.model import ModelCreateAPI, GetModelApi, ModelEditApi, ModelListResponse, DefaultModelResponse
|
||||||
from models_provider.api.provide import ProvideApi
|
from models_provider.api.provide import ProvideApi
|
||||||
from models_provider.models import Model
|
from models_provider.models import Model
|
||||||
from models_provider.serializers.model_serializer import ModelSerializer, SharedModelSerializer, \
|
from models_provider.serializers.model_serializer import ModelSerializer, \
|
||||||
WorkspaceSharedModelSerializer
|
WorkspaceSharedModelSerializer
|
||||||
from system_manage.views import encryption_str
|
from system_manage.views import encryption_str
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user