Fix ModuleNotFoundError for pydantic_settings

- Added pydantic and pydantic-settings to requirements.txt
- Updated config.py to use proper Pydantic v2 imports and patterns
- Updated schemas to use Pydantic v2 configuration format
- Replaced orm_mode with from_attributes=True in schema models
- Applied code formatting with Ruff
This commit is contained in:
Automated Action 2025-06-09 13:43:01 +00:00
parent 9bfdefc0b4
commit aaac87335a
4 changed files with 8 additions and 9 deletions

View File

@ -1,6 +1,6 @@
from pathlib import Path from pathlib import Path
from pydantic_settings import BaseSettings from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings): class Settings(BaseSettings):
@ -20,9 +20,7 @@ class Settings(BaseSettings):
# Configure max file size (10MB by default) # Configure max file size (10MB by default)
MAX_FILE_SIZE: int = 10 * 1024 * 1024 # 10MB in bytes MAX_FILE_SIZE: int = 10 * 1024 * 1024 # 10MB in bytes
class Config: model_config = SettingsConfigDict(case_sensitive=True, env_file=".env")
case_sensitive = True
env_file = ".env"
# Create settings instance # Create settings instance

View File

@ -14,6 +14,7 @@ sys.path.insert(0, str(current_path))
# Import Base after setting up sys.path # Import Base after setting up sys.path
from app.db.base import Base # noqa: E402 from app.db.base import Base # noqa: E402
# Import all models to register them with SQLAlchemy metadata # Import all models to register them with SQLAlchemy metadata
from app.models.file import File # noqa: E402, F401 - import needed for Alembic to detect models from app.models.file import File # noqa: E402, F401 - import needed for Alembic to detect models

View File

@ -1,5 +1,5 @@
from datetime import datetime from datetime import datetime
from pydantic import BaseModel from pydantic import BaseModel, ConfigDict
class FileBase(BaseModel): class FileBase(BaseModel):
@ -25,8 +25,7 @@ class FileInDB(FileBase):
created_at: datetime created_at: datetime
updated_at: datetime updated_at: datetime
class Config: model_config = ConfigDict(from_attributes=True)
orm_mode = True
class FileResponse(FileBase): class FileResponse(FileBase):
@ -37,5 +36,4 @@ class FileResponse(FileBase):
created_at: datetime created_at: datetime
download_url: str download_url: str
class Config: model_config = ConfigDict(from_attributes=True)
orm_mode = True

View File

@ -4,4 +4,6 @@ sqlalchemy>=2.0.0
alembic>=1.10.0 alembic>=1.10.0
python-multipart>=0.0.6 python-multipart>=0.0.6
python-dotenv>=1.0.0 python-dotenv>=1.0.0
pydantic>=2.0.0
pydantic-settings>=2.0.0
ruff>=0.1.0 ruff>=0.1.0