在選擇字段上設置空標籤給我一些問題。我已經看過如this的答案,但這只是談論表單。Django在選擇字段中的空標籤 - 沒有查詢集
假設我有以下型號:
class MyColorModel(models.Model):
BLUE = 'blue'
RED = 'red'
GREEN = 'green'
COLOR_CHOICES = (
(BLUE, 'Blue'),
(RED, 'Red'),
(GREEN, 'Green'))
my_color = models.CharField(max_length=5, choices=COLOR_CHOICES, blank=True)
這種形式:
class MyColorForm(forms.ModelForm):
class Meta:
model = MyColorModel
fields = ['mycolor']
默認情況下,這將顯示一個選擇字段,用空白標籤設置----- -
我想出了以下選項來設置標籤。
1)改變COLOR_CHOICES在我模型到:
COLOR_CHOICES = (
('', '---Please select your color---'),
(BLUE, 'Blue'),
(RED, 'Red'),
(GREEN, 'Green'),
2)改變COLOR_CHOICES在我模型到:
COLOR_CHOICES = (
(None, '---Please select your color---'),
(BLUE, 'Blue'),
(RED, 'Red'),
(GREEN, 'Green'),
3)下面INIT方法添加到我的型號表格:
def __init__(*args, **kwargs):
super(MyColorForm, self).__init__(*args, **kwargs)
self.fields['my_color'].choices = [('', '---Please select your color---')] + MyColorModel.COLOR_CHOICES
選項1導致一些副作用,其中if語句,我已經開始失敗了,這就是促使我創建選項2
難道罰款添加空白標籤,我的模型(選項2)?任何副作用,如果我添加它,或者它是更好的添加它的形式?當我在表單中設置空標籤時,它似乎只是很多代碼。
謝謝!你是正確的,我需要空白=真正在那裏的選項1.我要選擇2,但我一定會使用其中一個人現在 – Johan