我正在使用帶有MySQL後端的Django 1.8。我需要從數據庫中的多個表中獲取兩列,並將它們連接起來,然後將排序後的結果放在網頁上。我有這個至今:Python正在向後打印一個列表,但不打印其他列表
views.py
def herps(request):
#performs queries to get distinct species from the database
trQuery = queryBuilder(HetrRec, '_hetr')
opQuery = queryBuilder(HeopRec, '_heop')
valList = opQuery + trQuery
query = sorted(set(valList))
return render_to_response('herps.html', {'queries': query,})
功能對數據庫執行查詢看起來是這樣的:
def queryBuilder(table, column_str):
genus = 'genus' + column_str
species = 'species' + column_str
filterSp = {species: 'sp.'}
query = table.objects.order_by(species, genus).values(genus, species).distinct().exclude(**filterSp)
valueList = []
for q in query:
species = ' '.join(q.values())
valueList.append(species)
return(valueList)
所以輸出出來,在幾個表作爲屬種的組合。在一張桌子裏它出來了物種屬。
我已經通過數據刪除任何可能影響它的字符(前導/尾隨空格,不完整的對等),但沒有喜悅。
你正在建立的兩個列表,哪一個是正確的,你認爲哪個是反向的? – blakev
trQuery出來正確,opQuery回到前面。我試着改變對queryBuilder()的調用順序,並使用其他表(包括鏈接多個不同表中的多個查詢)。這只是一個表格與前面的串聯(物種然後是屬,而不是屬,然後物種)一致。 –