Форум сайта python.su
Всем привет!
Есть конструкция
<span tal:repeat=“item container/getData_oneonone” tal:omit-tag=“” >
<span tal:condition=“exists:item”>
…
где getData_oneonone Sql-процедура возвращающая набор строк Но если строк нет - то ошибка …
варианты с “exists”- не проходят Можно наверно написать отдельный Sql-method “Select Count()…” Это единственный способ?
Офлайн
Делаю так
<span tal:repeat=“itemRowsCount container/get_data_if_exists_select_oneonone” tal:omit-tag=“” >
<span tal:define=“global InReportRowsCount python: itemRowsCount/rowscount” > </span>
</span>
<span tal:condition=“python:InReportRowsCount > 0” tal:omit-tag=“”>
…
где get_data_if_exists_select_oneonone - Python функция (так как там переменные передаются в Sql-method из массива сессии)
В get_data_if_exists_select_oneonone выззывается Sql-method вида “select Count(*) as rowscount…” :
result = context.if_exists_select_oneonone(orgID=orgID,schoolYearID=schoolYearID)
if result:
# There should be exactly one result
resultDict = result.dictionaries()
# Change boolean values from (TRUE, FALSE) to (1, 0)
return resultDict
И получаю ошибку :
Error Type: NameError
Error Value: name ‘rowscount’ is not defined
…
Я неправильно обращаюсь к itemRowsCount/rowscount ?
Офлайн
Попробуй так:
python:len(itemRowsCount)
Офлайн