From 69a3032102fc1a467f5b93febd0d9e28adbfef4e Mon Sep 17 00:00:00 2001 From: carry <2641257231@qq.com> Date: Wed, 19 Feb 2025 14:39:36 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86pydantic?= =?UTF-8?q?=E7=9A=84=E7=89=88=E6=9C=AC=E9=97=AE=E9=A2=98=E5=92=8Cpython?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | 3 +++ schemas/user.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index acec49f..eb32115 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,5 @@ +pydantic<2.0 +asyncmy>=0.2.10 fastapi>=0.95.2 python-dotenv>=1.0.0 sqlalchemy>=2.0.15 @@ -6,4 +8,5 @@ bcrypt>=4.0.1 pyjwt>=2.6.0 pytest>=7.3.1 requests>=2.28.2 +cryptography>=42.0.2 uvicorn[standard]>=0.21.1 diff --git a/schemas/user.py b/schemas/user.py index f837b7a..46dc5f3 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, model_validator +from pydantic import BaseModel, Field, root_validator from typing import Optional # 用户角色枚举 @@ -27,7 +27,7 @@ class UserUpdate(BaseModel): description: Optional[str] = Field(None, max_length=255, description="用户描述") # 可选:确保至少更新一个字段 - @model_validator(mode='before') + @root_validator def validate_at_least_one_field(cls, values): if not any(values.values()): raise ValueError("至少需要更新一个字段") From 2f8e547e0338ee1c329bf42dc56b511e0125aaa2 Mon Sep 17 00:00:00 2001 From: carry <2641257231@qq.com> Date: Wed, 19 Feb 2025 14:41:05 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E5=AE=89=E8=A3=85=E7=9A=84=E4=BB=A3=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5cb7d1e..47f904a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # 使用Python官方镜像 -FROM python:3.9-slim +FROM python:3.11-slim # 设置工作目录 WORKDIR /app @@ -8,7 +8,7 @@ WORKDIR /app COPY requirements.txt . # 安装依赖 -RUN pip install --no-cache-dir -r requirements.txt +RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 复制项目文件 COPY . .