Pythonとdjangoがプロジェクトでうまく動いているのはとても新しいですが、上記の質問に対する簡単な答えが見つかりません:
モデルはこんな感じ
class Projects(models.Model):
project_name = models.CharField(max_length=200)
project_description = models.TextField(blank=True)
active = models.BooleanField()
def __unicode__(self):
return self.project_name
上記をForignKeyのように参照する他のモデルがあります
class Estimates(models.Model):
client = models.ForeignKey(Clients)
estimate_summary = models.CharField(max_length=200,blank=True)
project = models.ForeignKey(Projects,default=-1,blank=True)
確実に有効な選択ができるように設定できることはわかってblank=False
いますが、見積もりにプロジェクトを割り当てないというオプションを彼らに許可したいと考えています。その場合、デフォルトの整数 -1 などを保存します。
しかし、問題は、" " <- (空の文字列) の代わりにデフォルト値として整数を使用するフォームを取得する方法がわからないことです。
<option selected="selected" value="">---------</option>
<option value="1">Sample Project</option>
私が見たすべての質問と回答は、---------
他のテキストに変更したり、空白のオプションをまとめて削除するように強制したりすることを中心に展開しています. ただ欲しい
<option selected="selected" value="-1">---------</option>
だから私のフォームは検証されます
質問を書き終えたとき、自分でオプションを挿入empty_label=None
して、フォームに追加するときに使用できるかどうか疑問に思いました
field2 = forms.ModelChoiceField(queryset=..., empty_label=None)