Python SQLAlchemy/MySQL的表设计
我在MySQL中创建了一个数据库,其中包含以下表格Python SQLAlchemy/MySQL的表设计,python,mysql,sqlalchemy,Python,Mysql,Sqlalchemy,我在MySQL中创建了一个数据库,其中包含以下表格 Attachment Sender Recipient Message mr_link ms_link ma_link 发件人和收件人是不同的电子邮件地址表 mr_链接包含邮件及其关联收件人的ID(每条邮件每个收件人一个条目) ms_link具有消息及其关联发件人的ID ma_link具有消息及其关联文件的ID 我最近发现了SQLAlchemy,并喜欢它如何使我的查询等更高效 我现在要做的是将这个现有模式转换为具有关系的表,但是我的MySQL
Attachment
Sender
Recipient
Message
mr_link
ms_link
ma_link
发件人和收件人是不同的电子邮件地址表
mr_链接包含邮件及其关联收件人的ID(每条邮件每个收件人一个条目)
ms_link具有消息及其关联发件人的ID
ma_link具有消息及其关联文件的ID
我最近发现了SQLAlchemy,并喜欢它如何使我的查询等更高效
我现在要做的是将这个现有模式转换为具有关系的表,但是我的MySQL fu和SQLAlchemy fu仍处于早期阶段
我是来这里寻求指导的
谢谢,
Larry在SA中实现模型时,您有一个主要的选择,即使用ORM和直接使用SQL构造。这在一开始可能会让人困惑,因为它们有相似的方法和行为。在开始深入研究时,从您所使用的类的角度考虑它们可能是有用的:
- 使用SQLI/f,您将主要处理表
- 使用ORM,您将主要处理类(消息、收件人、发件人等)
为此,我建议你花些时间在家里。中的BlogPost/关键字示例与您的用例有一些共同的有用特性,应该给您一个开始的地方。我不确定有多少人能够真正“回答”这个问题。“如何将我的MySQL表映射到SQLAlchemy”实际上是一个阅读的问题。关于SQLAlchemy中的映射项,您有什么特别的问题吗?如果你甚至不知道从哪里开始,你应该浏览一遍,确保你了解发生了什么。然后,将这些知识扩展到您自己的项目中;我发现自己经常使用这两种方法!特别是,我倾向于在处理核心应用程序功能时使用orm;业务规则等;但是,当处理整个数据时,核心sql表达式接口是:报告、数据迁移或批处理更改。@TokenMacGuy-完全同意您的看法。实际上,我试图指出,您使用SA的方式基本相同,但区别主要在于您操作的类(您的问题域与SQL关系域)不同。