IntegerField
私は自分のモデルの1つに非常に単純なものを持っています。
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
ビューでは、数値モデル自体を渡しています:
ビュー.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))
上記の整数フィールドの値をカスタム フォームの 1 つで使用すると、次のように表示されます。
テンプレートには、次のようなものがあります。
テンプレート
<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>
値が存在する場合にのみ値を表示したいと思います。値がデータベースに null として保存されていることは確かですが、なぜ"None"
.
また、次のことも試しましたが成功しませんでした。
<input type="text" name="user_number" id="user_number" {% if number.number == "None" %} value="" {% else %} value="{{ number.number }}" {% endif %} />