2017-09-01 80 views
1

在一個Django應用程序,我使用cx_Oracle顯示的競技選手名冊:在Django中使用NVL和字符串?

def get_players(self, sport_code='', term=0): 
""" 

:rtype: object 
""" 
con = cx_Oracle.Connection(settings.BANNER_CONNECTION_URL) 
cursor = con.cursor() 
query = 'select PREF_NAME, CLASS, ELIGIBLE_HOURS, CHECKED_IN, SEASONS_USED, MAJR1, NVL(MINR1, Null), CA_EMAIL, ID from swvsprt_web where ACTC = \'%s\' AND term = \'%s\' ORDER BY PREF_NAME' % (
    sport_code, term) 
cursor.execute(query) 
players = cursor.fetchall() 
cursor.close() 
con.close() 
return players 

我想未成年人僅僅是空白,如果他們沒有一個小

NVL(MINR1, Null) 

但我無法讓NVL行事。 「空」使它打印單詞「無」。如果我做

NVL(MINR1, 0) 

它會顯示一個0,但如果我嘗試採取以下的,他們崩潰的網站有500錯誤:

NVL(MINR1,) 

NVL(MINR1, '')

NVL(MINR1, "")

我們可以使用NVL將它顯示爲空值嗎?

+0

你在哪裏顯示這些值,你希望它們顯示爲空而不是'None'?在HTML中通過模板? – rawbeans

+0

正確,模板正在渲染一張表​​,​​{{player.1}}等等 –

回答

0

在Python中,「空」的對象是單None

如果你想別的東西顯示,你應該張貼過程中的數據,並在該領域有一個空字符串替換的None值。

更好的選擇可能是將None的值保留在後端表示中。這比沒有一個空字符串更有代表性。

然後,在您的前端模板上,您可以檢查空值,並在MINR1爲None時顯示空字符串。

+0

謝謝。因此,請嘗試在模板圖層而不是模型圖層上處理它。我要給這個鏡頭。 –

+0

@KevinCelebi爲你做了這項工作?如果是這樣,你可以投票/接受我的答案。否則,我很樂意幫助您繼續完成此工作。 – rawbeans

+0

我很想upvote這個,但Stackoverflow不會讓我做任何事情,因爲我太新了!不過謝謝你的幫助,模板層比我知道的要強大得多。 –