我正在尝试使用mysql数据库连接peewee中的两个表.这很容易做到这样的事情:
s = Table1.select(Table1, Table2).join(
Table2).naive().where(Table1.Title == "whatever")
不幸的是,我在Table1和Table2中调用了一个与“URL”相同的列.然后,当我选择s.URL时,它会给我Table2中的URL,我不想要它,我想要Table1中的那个.有没有办法不加入Table2.URL列或命名它不同的东西? This question似乎在常规SQL(不是peewee)中解决了类似的问题,是否有办法在peewee中做类似的事情?
换句话说,我认为我正在寻找一种“JOIN AS”方法或者在peewee中“不要加入这一列”的方法.
非常感谢,
亚历克斯
解决方法:
我没有使用过peewee,但文档建议任何表,表达式或列都有.alias()方法.但这意味着您必须单独为URL列别名:
Table1.select(Table1, Table2.URL.alias('t2_url')).join(Table2)...
即使在手工制作的SQL中,也不能SELECT Table2.*但同时为Table2的其中一列提供别名.
标签:mysql,join,alias,peewee 来源: https://codeday.me/bug/20190517/1119685.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。