如何使用 SQLalchemy 提取数据
How do I pull data using SQLalchemy
所以我在 python 中使用 sqlalchemy 作为我的 orm,我正在寻找如何提取特定数据的方法。
这是我搭建的ORM模型。
class ServerList(Base):
# Table name
__tablename__ = "ServerList"
metadata_obj
rID = Column(Integer, primary_key=True, autoincrement=True)
ServerID = Column(BigInteger)
ServerName = Column(String(200))
MemberCount = Column(Integer)
ChannelCount = Column(Integer)
Prefix = Column(String(200), default='H!')
WelcomeEnabled = Column(BOOLEAN, default=False)
LeaveEnabled = Column(BOOLEAN, default=False)
AutoModEnabled = Column(BOOLEAN, default=True)
MusicEnabled = Column(BOOLEAN, default=True)
LastUpdate = Column(DATE)
现在我正在尝试对其进行设置,以便该机器人所在的每个服务器都可以拥有自己的前缀,我需要如何从数据库中提取该信息,但似乎找不到适合我的情况。
这段代码是从数据库中获取前缀,但没有按预期工作。
async def get_prefix(bot: commands.Bot, message: discord.Message):
with Session(engine) as session:
guild = session.query(ServerList).filter_by(ServerID=message.guild.id).first()
if not guild:
return PREFIX
else:
prefix = session.query(ServerList).filter_by(ServerID=message.guild.id).fetch(Prefix)
return prefix
欢迎提出任何建议。谢谢你的帮助。
所以我自己解决了这个问题,但我想我会 post 我找到的解决方案。
所以我首先打印了查询:
session.query(ServerList).filter_by(ServerID=ctx.guild.id).first()
返回一个对象
所以通过将查询命名为变量,我可以调用 var.Prefix
这是修复后的代码。
async def get_prefix(bot: commands.Bot, message: discord.Message):
with Session(engine) as session:
guild = session.query(ServerList).filter_by(ServerID=message.guild.id).first()
if not guild:
return PREFIX
else:
GuildData = session.query(ServerList).filter_by(ServerID=message.guild.id).first()
return GuildData.Prefix
所以我在 python 中使用 sqlalchemy 作为我的 orm,我正在寻找如何提取特定数据的方法。 这是我搭建的ORM模型。
class ServerList(Base):
# Table name
__tablename__ = "ServerList"
metadata_obj
rID = Column(Integer, primary_key=True, autoincrement=True)
ServerID = Column(BigInteger)
ServerName = Column(String(200))
MemberCount = Column(Integer)
ChannelCount = Column(Integer)
Prefix = Column(String(200), default='H!')
WelcomeEnabled = Column(BOOLEAN, default=False)
LeaveEnabled = Column(BOOLEAN, default=False)
AutoModEnabled = Column(BOOLEAN, default=True)
MusicEnabled = Column(BOOLEAN, default=True)
LastUpdate = Column(DATE)
现在我正在尝试对其进行设置,以便该机器人所在的每个服务器都可以拥有自己的前缀,我需要如何从数据库中提取该信息,但似乎找不到适合我的情况。
这段代码是从数据库中获取前缀,但没有按预期工作。
async def get_prefix(bot: commands.Bot, message: discord.Message):
with Session(engine) as session:
guild = session.query(ServerList).filter_by(ServerID=message.guild.id).first()
if not guild:
return PREFIX
else:
prefix = session.query(ServerList).filter_by(ServerID=message.guild.id).fetch(Prefix)
return prefix
欢迎提出任何建议。谢谢你的帮助。
所以我自己解决了这个问题,但我想我会 post 我找到的解决方案。
所以我首先打印了查询:
session.query(ServerList).filter_by(ServerID=ctx.guild.id).first()
返回一个对象
所以通过将查询命名为变量,我可以调用 var.Prefix
这是修复后的代码。
async def get_prefix(bot: commands.Bot, message: discord.Message):
with Session(engine) as session:
guild = session.query(ServerList).filter_by(ServerID=message.guild.id).first()
if not guild:
return PREFIX
else:
GuildData = session.query(ServerList).filter_by(ServerID=message.guild.id).first()
return GuildData.Prefix