From 1bf9a6f635e0ab41485d0d6103e74a45d86ab3fc Mon Sep 17 00:00:00 2001 From: carry <2641257231@qq.com> Date: Tue, 18 Feb 2025 15:13:19 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=B7=B2?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E7=9A=84=E4=BF=AE=E9=A5=B0=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- schemas/user.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/user.py b/schemas/user.py index 46dc5f3..f837b7a 100644 --- a/schemas/user.py +++ b/schemas/user.py @@ -1,6 +1,6 @@ from datetime import datetime from enum import Enum -from pydantic import BaseModel, Field, root_validator +from pydantic import BaseModel, Field, model_validator from typing import Optional # 用户角色枚举 @@ -27,7 +27,7 @@ class UserUpdate(BaseModel): description: Optional[str] = Field(None, max_length=255, description="用户描述") # 可选:确保至少更新一个字段 - @root_validator + @model_validator(mode='before') def validate_at_least_one_field(cls, values): if not any(values.values()): raise ValueError("至少需要更新一个字段") From 56b65432f828d4b3a8a237eedb39fc3de2160029 Mon Sep 17 00:00:00 2001 From: carry <2641257231@qq.com> Date: Tue, 18 Feb 2025 15:15:36 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86docker=E9=95=9C?= =?UTF-8?q?=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5cb7d1e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +# 使用Python官方镜像 +FROM python:3.9-slim + +# 设置工作目录 +WORKDIR /app + +# 复制依赖文件 +COPY requirements.txt . + +# 安装依赖 +RUN pip install --no-cache-dir -r requirements.txt + +# 复制项目文件 +COPY . . + +# 暴露端口 +EXPOSE 8000 + +# 设置环境变量 +ENV PYTHONUNBUFFERED=1 + +# 启动应用 +CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file