2016-04-09 33 views
0

我有一個創建一個名爲事件SQLalchemy。我只得到一個結果此查詢

class Events(Base): 
    __tablename__ = 'events' 

    id = Column(Integer, primary_key=True) 
    name = Column(String(25), nullable=False) 
    email = Column(String(30), nullable=True) 
    phone_number = Column(String(15), nullable=True) 
    venue = Column(String(70), nullable=True) 
    description = Column(String(2000), nullable=True) 
    date = Column(String(15), nullable=True) 
    time = Column(String(10),nullable=True) 
    duration = Column(String(25),nullable=True) 
    who_made_me = Column(String(25),nullable=True) 
    address = Column(String(50),nullable=True) 

表這個Python代碼,並添加事件ÿ後,你們

add = Events(name = "y") 
    add_two = Events(name = "ye") 
    con.add(add,add_two) 
    con.commit() 

我想要搜索的Y和得到兩個結果。我試圖用:

search_results= con.query(Events).filter(Events.name.like("y")).all() 

,我只得到一個結果,「Y」,我想任何結果,它類似於「Y」喜歡「你們」或「年」。

我使用什麼查詢方法?

回答

0

在y後嘗試'%'。

search_results= con.query(Events).filter(Events.name.like("y%")).all() 

讓我們知道它是否有效。

+0

不,還是隻返回一個結果 –

+0

可以添加import語句了,所以我可以正確檢查引用類。並指定您正在使用的數據庫軟件。 – Mitty

+0

從DB進口*我的數據庫文件 引擎= create_engine( 'sqlite的:///users.db') Base.metadata.bind =引擎 DBSession = sessionmaker(綁定=引擎) CON = DBSession() 使用SQLite –

0

您只在數據庫中獲得一個結果,因爲您僅在會話中提交了一個事件。嘗試:

add = Events(name = "y") 
add_two = Events(name = "ye") 
con.add(add) 
con.add(add_two) 
con.commit() 
+0

這不是這種情況,他們都存在。我通過單獨查詢來檢查它們 –

+0

你會得到什麼:'con.query(Events).all()'?我只得到一個事件 – API

+0

我分別添加它們。仍然查詢不起作用。 –