在Django应用程序上,我使用cx_Oracle来显示一个体育运动员名单:
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表现得更好。 “Null”使其打印“无”字样。如果我做
NVL(MINR1, 0)
它将显示0,但如果我尝试以下任何一种情况,它们会导致网站崩溃,并出现500错误:
NVL(MINR1, )
NVL(MINR1, '')
NVL(MINR1, "")
我们可以使用NVL使其显示空值吗?
答案 0 :(得分:0)
在Python中,' null'对象是单身None
如果要显示其他内容,则应对数据进行后处理,并将该字段中None
的值替换为空字符串。
更好的选择可能是将None
的值保留在后端表示中。这更像是没有辅助字符而不是空字符串。
然后,在前端模板上,您可以检查空值,如果MINR1为None
则显示空字符串。
答案 1 :(得分:0)
在Django模板中有一个Oracle NVL
的类比:
<td><span class="entityName">{{ attr.name|default_if_none:"" }}</span></td>
如果attr.name is None
将输出一个空字符串。
这里是documentation。