<p>我试图在appengine上构建一个web应用程序,在某个时候,我需要一个函数来构造一个列表属性,其中一个成员来自不同的组。如果我使用Sqlite数据库和网页.py数据库模块,我可以实现我需要的如下:</p>
<pre><code>db = web.database(dbn='sqlite',db=':memory:')
db.query("CREATE TABLE seq_list (seq TEXT, seq_pickle TEXT);")
# do some stuff to the database
def getUnique():
uniq_entries = db.query("SELECT DISTINCT seq FROM seq_list;")
if not uniq_sequences:
for entry in uniq_entries:
seq_query = db.query("SELECT * FROM seq_list WHERE seq='" + str(entry.seq) +"';")
seq_obj = pickle.loads(seq_query[0].seq_pickle)
self.uniq_sequences.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(seq_obj)
</code></pre>
<p>但我在应用程序引擎中遇到了麻烦。在</p>
^{pr2}$
<p>try/except用于显示print语句。此输出用于某些测试数据:</p>
<pre><code>set([u'DXTMT', u'DIXTX', u'XSXDV', u'XI*MT'])
SELECT * FROM SeqObj WHERE seq='DXTMT'
SELECT * FROM SeqObj WHERE seq='DIXTX'
SELECT * FROM SeqObj WHERE seq='XSXDV'
SELECT * FROM SeqObj WHERE seq='XI*MT'
</code></pre>
<p>当我不把所有的东西都放在try-catch积木上时,我得到了</p>
<pre><code>IndexError: The query returned fewer than 1 results
</code></pre>
<p>我不知道出了什么问题,因为我返回了唯一的序列,查询看起来也像我期望的那样,而且我可以验证条目是否在数据存储中。感谢任何帮助。在</p>