python - 使用 gettattr 从属性中获取属性
问题描述
每次我运行我的代码它返回我它返回一个空 json 这是我的主文件中的一个代码块,它应该返回具有指定 ID 的指定音频类型我试图在这里使用两个 getattr 从属性访问属性但它什么也不返回
from new_project import models
class AudioType(str, Enum):
Song = "Song"
Podcast = "Podcast"
Audiobook = "Audiobook"
@app.get('/{audio_type}/{audio_id}')
def show_one(audio_type: AudioType,audio_id: int, db: Session = Depends(database.get_db)):
if audio_type == AudioType.Song:
return db.query(getattr(getattr(models, audio_type), "id")).filter(audio_id == id)
这就是我的models.py文件
class Song(Base):
__tablename__ = 'song'
id = Column(Integer, primary_key=True, unique=True, index=True)
name = Column(String(100), nullable=False)
duration = Column(Integer, nullable=False)
uploadTime = Column(DateTime(timezone=True))
__table_args__ = (
CheckConstraint(duration >= 0, name='check_bar_positive'),
{})
class Podcast(Base):
__tablename__ = 'podcast'
id = Column(Integer, unique=True, primary_key=True)
name = Column(String(100), nullable=False)
duration = Column(Integer, nullable=False)
uploadTime = Column(DateTime(timezone=True))
host = Column(String(100), nullable=False, )
#participants = Column
__table_args__ = (
CheckConstraint(duration >= 0, name='check_bar_positive'),
{})
class Audiobook(Base):
__tablename__ = 'audiobook'
id = Column(Integer, unique=True, primary_key=True ,nullable=False)
title = Column(String(100), nullable=False)
author = Column(String(100), nullable=False, )
narrator = Column(String(100), nullable=False)
duration = Column(Integer, nullable=False)
uploadTime = Column(DateTime(timezone=True))
__table_args__ = (
CheckConstraint(duration >= 0, name='check_bar_positive'),
{})
解决方案
推荐阅读
- java - 从原始 avro 模式创建对象
- javascript - 为什么方法作为箭头函数在反应类中起作用,但在普通类中不起作用?
- docker - Docker-compose 从 env 文件中指定标签
- powershell - 如何将此 Internet Explorer 脚本调整到 Chrome
- javascript - 正则表达式未在 javascript 中返回所有匹配项
- vba - 创建数据透视表时出现错误 13
- maven - 为什么maven版本插件不推荐插件升级
- python - 安装 pip 时出错
- sql - 类 Illuminate\Support\Fluent 的对象无法转换为 int
- python - 为什么我在 python 中的散点图在使用“s”参数时全部显示为红色