Python SQL Alchemy MVC和交叉控制器连接

Python SQL Alchemy MVC和交叉控制器连接,python,model-view-controller,sqlalchemy,dns,controllers,Python,Model View Controller,Sqlalchemy,Dns,Controllers,当使用SQL Alchemy抽象数据访问层并使用控制器作为从该抽象层访问对象的方式时,应该如何处理连接 例如,假设您有一个Orders控制器类,该类管理Order对象,从而提供getOrder、saveOrder等方法,同样也为用户对象提供类似的控制器 首先,你需要这些控制器吗?您是否应该将SQL炼金术视为处理数据访问的“工具”。如果您有一种干净的声明式方法来获取和持久化对象,而不必直接编写SQL,那么为什么还要在那里处理面向对象的控制器呢 一个原因可能是您可能想用直接SQL或Storm或其他任

当使用SQL Alchemy抽象数据访问层并使用控制器作为从该抽象层访问对象的方式时,应该如何处理连接

例如,假设您有一个Orders控制器类,该类管理Order对象,从而提供getOrder、saveOrder等方法,同样也为用户对象提供类似的控制器

首先,你需要这些控制器吗?您是否应该将SQL炼金术视为处理数据访问的“工具”。如果您有一种干净的声明式方法来获取和持久化对象,而不必直接编写SQL,那么为什么还要在那里处理面向对象的控制器呢

一个原因可能是您可能想用直接SQL或Storm或其他任何东西来取代SQL炼金术。因此,将控制器类用作中间层有助于限制需要更改的内容

无论如何-回到主要问题-假设您有这两个控制器,现在让我们假设您希望某组用户的订单列表满足某些条件。你是怎么做的?通常,您不希望控制器跨域-订单控制器只知道订单,用户控制器只知道用户-它们不会相互干扰。您也不希望获取所有匹配的用户,然后向Orders controller提供一个大的用户ID列表以查找匹配的订单


现在需要的是加入。这就是我被卡住的地方——这似乎意味着要么控制器必须跨域,要么它们应该被完全删除,而您只需直接通过SQL Alchemy进行连接,并根据需要获取结果用户和/或订单对象。想法?

控制器旨在封装功能以方便您。不要束缚你的手。如果你想加入,只需加入即可。使用您认为逻辑上最合适的控制器进行查询