Program/mooc/crud/crud_news_reply.py
?..濡.. 8451ad034c 1.统一CRUD操作
2.完成登录部分接口
3.暂时挂载本地图片链接作为头像存储
2025-03-04 20:36:52 +08:00

41 lines
1.6 KiB
Python

from typing import Optional
from sqlalchemy.orm import Session
from mooc.crud.crud_base import CRUDBase
from mooc.models.news import NewsReply
from mooc.schemas.news import NewsReplyCreate, NewsReplyUpdate
class CRUDNewsReply(CRUDBase[NewsReply, NewsReplyCreate, NewsReplyUpdate]):
def get_by_id(self, db: Session, *, id: int) -> Optional[NewsReply]:
return self.get_by_field(db, "Id", id) # 注意这里使用 "Id" 而不是 "id"
# 创建实例
news_reply = CRUDNewsReply(NewsReply)
def get_news_reply(db: Session, news_reply_id: int):
return db.query(models.NewsReply).filter(models.NewsReply.Id == news_reply_id).first()
def get_news_replies(db: Session, skip: int = 0, limit: int = 100):
return db.query(models.NewsReply).offset(skip).limit(limit).all()
def create_news_reply(db: Session, news_reply: schemas.NewsReplyCreate):
db_news_reply = models.NewsReply(**news_reply.dict())
db.add(db_news_reply)
db.commit()
db.refresh(db_news_reply)
return db_news_reply
def update_news_reply(db: Session, news_reply_id: int, news_reply: schemas.NewsReplyCreate):
db_news_reply = db.query(models.NewsReply).filter(models.NewsReply.Id == news_reply_id).first()
if db_news_reply:
for key, value in news_reply.dict().items():
setattr(db_news_reply, key, value)
db.commit()
db.refresh(db_news_reply)
return db_news_reply
def delete_news_reply(db: Session, news_reply_id: int):
db_news_reply = db.query(models.NewsReply).filter(models.NewsReply.Id == news_reply_id).first()
if db_news_reply:
db.delete(db_news_reply)
db.commit()
return db_news_reply