首页 > 解决方案 > 如何在通用 UpdateView 的选择标记中获取保存的值?

问题描述

我正在使用通用 UpdateView 编辑表单。当我打开表单时,我无法让保存的值显示在选择标签中,其他字段工作正常。

模型.py

class employee_master(models.Model):
    name = models.CharField(max_length=200)
    for_station = models.CharField(max_length=200)
    contact_no = models.CharField(max_length=200)
    email_id = models.EmailField(max_length=200)
    joining_date = models.DateField(max_length=200)
    date_of_birth = models.DateField(max_length=200)
    address = models.TextField(max_length=200)
    country = models.CharField(max_length=200)
    state = models.CharField(max_length=200)
    city = models.CharField(max_length=200)
    pin_code = models.CharField(max_length=200)
    remarks = models.CharField(max_length=200)
    active = models.BooleanField(default=False)

    def get_absolute_url(self):
        return reverse('master:employee-detail')

    def __str__(self):
        return self.name

表格.py

class EmployeeForm(forms.ModelForm):
    city = forms.ModelChoiceField(queryset=city_master.objects.all())
    state= forms.ModelChoiceField(queryset=state_master.objects.all())
    country = forms.ModelChoiceField(queryset=country_master.objects.all())

    class Meta:
        model=employee_master
        fields = '__all__'
        widgets= {
            'name':forms.TextInput(attrs={'class':'form-control'}),
            'for_station': forms.TextInput(attrs={'class': 'form-control'}),
            'contact_no': forms.TextInput(attrs={'class': 'form-control'}),
            'email_id': forms.TextInput(attrs={'class': 'form-control'}),
            'joining_date': forms.TextInput(attrs={'class': 'form-control'}),
            'date_of_birth': forms.TextInput(attrs={'class': 'form-control'}),
            'address': forms.Textarea(attrs={'class': 'form-control','rows':2, 'cols':10}),
            'country': forms.Select(attrs={'class': 'form-control'}),
            'state': forms.Select(attrs={'class': 'form-control'}),
            'city': forms.Select(attrs={'class': 'form-control'}),
            'pin_code': forms.TextInput(attrs={'class': 'form-control'}),
            'remarks': forms.Textarea(attrs={'class': 'form-control','rows':2, 'cols':10}),
        'active': forms.CheckboxInput(attrs={'class': 'form-check-input'}),
    }

views.py 创建和更新,我使用相同的形式

class EmployeeCreate(CreateView):
    model = employee_master
    form_class = EmployeeForm

class EmployeeUpdate(UpdateView):
    model = employee_master
    form_class = EmployeeForm

我希望在编辑时出现国家、州和城市保存的值。

标签: djangodjango-formsdjango-generic-views

解决方案


推荐阅读