有沒有辦法強制django爲空白的Decimal字段顯示任何內容而不是「None」?Django DecimalField返回「None」而不是空值
在我的模板中,我顯示了一個特定字段的所有值的列表。每個值都超鏈接到一個頁面,該頁面顯示按該值過濾的查詢結果。但是由於有一些空值的條目,我的列表中包含實際的DecimalField條目,而所有那些爲空的條目都包含「None」。當用戶點擊None時,django會拋出驗證錯誤,因爲您無法使用字符串查詢DecimalField。
我可以編寫if語句來檢查Nones的所有十進制字段的實例並跳過它們,但這遠非優雅的解決方案。有什麼建議?
這是代碼的一部分,但也有在略微不同的方式推導出無其他有價值的模板:
{% for item in choices %}
<a href={% url app_views.field_choice item %}>{{ item }}</a><br>
{% endfor %}
好,因爲沒有隻顯示一次,我只會得到一個空的鏈接,這將是不可見的用戶。 將1 if語句添加到循環會很好,但是如果/當我擴展模板以專門引用單個字段(而不是動態循環它們)時,我必須爲每個字段編寫if語句可能包含無的參考。 – 2010-03-26 16:46:52
這是一個非常糟糕的做法,指望用戶看不到鏈接,只是因爲它們是空的。他們仍然在那裏,而且他們會被使用的情況很多。 – 2010-03-26 16:57:09
同意。我改變了視圖以過濾出列表中無值的值。然後,我使用default_if_none篩選器篩選未預先過濾的模板 – 2010-03-26 17:49:08