如何通过url获取记录,如果找不到则插入

时间:2011-02-10 03:04:52

标签: python sqlalchemy

我目前正在执行此操作并收到错误:

  

属性错误'表'对象没有属性url

p = session.query(pages.url == someurl).first()

if p is None:
   p = Page()
   p....
   ..
   session.add(p)
   session.commit()


SomeFunction(p)

如果某些东西返回null我会感到厌倦我的代码会失败,这是正确的吗?

1 个答案:

答案 0 :(得分:0)

不,您的方法不正确,错误不是“无行”性质。从错误消息中,'pages'显然是Table对象,而不是映射到表的类。要么将表达式更改为Pages.url==someurl,要么使用pages.c.url==someurl,因此,请指定您正在按URL名称查找(c)列。不过,目前还不清楚你在这里想要达到的目标。