【问题标题】:How to override the default value in dropdown list如何覆盖下拉列表中的默认值
【发布时间】:2019-05-31 16:10:05
【问题描述】:

在我的 Web 应用程序中,我有一个使用 ModelForm 创建的下拉列表,它呈现良好,但是,我无法设置默认文本,如“选择一个选项”或“选择一个”,而是显示默认文本“ ----" 我很想覆盖

我已经尝试在我的小部件中使用 forms.ChoiceField,但它仍然没有任何区别

from django import forms
from . import models
from .models import FacultyData

类DepartmentCreationForm(forms.ModelForm):

class Meta:
    model = models.DepartmentData
    fields = ['fid', 'dept_name']

    data = []
    #data.append((None, 'select one'))
    data.append(('20', "---Choose One---"))
    CHOICES = FacultyData.objects.all()

    for v in CHOICES:
        # fname = "%s -- $%d each" % (v.faculty_name, v.created_on)
        data.append((v.id, v.faculty_name))
widgets = {
        'fid': forms.Select(attrs={'class': 'form-control'}),
        'dept_name': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Enter Department Name'})
   }

我希望默认输出是“选择一个”,但实际输出是“-----”

【问题讨论】:

    标签: django django-models django-forms modelform django-widget


    【解决方案1】:

    试试这个:

        class YourForm(forms.ModelForm):
              your_field_name = forms.ModelChoiceField(queryset=FacultyData.objects.all(),empty_label="Select One")
    
             class Meta:
               model = DepartmentData
               fields = ("__all__")
               widgets = {  something   }
    

    如果它不起作用,请显示您的模型

    【讨论】:

    • 结果还是一样..完全不影响表格
    • 将标签更新为 empty_label
    • 到目前为止没有任何变化。如果你能解释一下,也许会更好
    【解决方案2】:

    在你的模型中尝试这样的事情:

             options = (
               ('','Select One'),
               ('One','One'),
               ('Two','Two')
              )
        choice = models.CharField(max_length=100, choices=options)
    

    【讨论】:

      【解决方案3】:

      这对我有用,希望对你有帮助:

      class yourform(forms.ModelForm):     
      ##something##
      def __init__(self, *args, **kwargs):        
              self.fields["fieldname"].empty_label="fieldDefaulText"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多