我有一個非常簡單的IntegerField
在我的一個模型。Django爲什麼空白IntegerField的值在自定義表單中顯示爲「無」?
models.py
## Imports
from django.db import models
class UserModel(models.Model)
name = models.CharField(max_length=50)
class NumberModel(models.Model)
user = models.ForeignKey(UserModel)
number = models.IntegerField(blank=True, null=True) # This is the IntegerField
在我傳遞的數量模型本身的意見
:
views.py
def change_user_number(request):
number = get_object_or_404(models.NumberModel, user=request.user)
return render_to_response('change_number.html', {'number' : number }, context_instance=RequestContext(request))
現在,當我使用所提及的上述價值整數在我的一個自定義表單中,它顯示如下:
在模板我有這樣的事情:
模板
<form id="" action="" method="POST">
<p><label for="user_number"></label></p>
<p><input type="text" name="user_number" id="user_number" value="{{ number.number }}" />
<input type="submit" value="submit" />
</form>
我想只顯示,如果該值存在的價值。我很確定這個值在數據庫中保存爲空,但爲什麼它會返回"None"
。
我也試過以下沒有成功。
<input type="text" name="user_number" id="user_number" {% if number.number == "None" %} value="" {% else %} value="{{ number.number }}" {% endif %} />
它在數據庫的字段上讀取Null嗎? –
是@RickardZachrisson在db – Amyth
中顯示的值爲空,儘管如果我從shell中鍵入(數字),它將返回'NoneType' – Amyth