Пустое поле выбора формы Django - PullRequest
0 голосов
/ 05 февраля 2019

Я хочу пустое поле job_users перед отправкой в ​​шаблон.Потому что job_groups и job_users зависит.Я звоню ajax call, когда группа выбрана, и пользователи этой группы будут отображаться внутри job_users.Но теперь все пользователи отображаются в job_users поле выбора.

class JobForm(forms.ModelForm):

    job_description = forms.CharField(widget=forms.Textarea(attrs={'rows':4, 'cols':15}))
    job_users = None
    class Meta:
        model = Jobs
        fields = [  
                    'job_name', 
                    'job_group',
                    'job_users',
                ]

    def __init__(self, *args, **kwargs):
        self.user_company = kwargs.pop('user_company', None)
        super().__init__(*args, **kwargs)
        self.fields['job_group'].queryset = None

self.fields['job_group'].queryset = None Я использую это, но оно дает мне ошибку

1 Ответ

0 голосов
/ 05 февраля 2019

Может быть, вы можете сделать это так:

class JobForm(forms.ModelForm):
    job_description = forms.CharField(widget=forms.Textarea(attrs={'rows':4, 'cols':15}))
    class Meta:
        model = Jobs
        fields = [  
                    'job_name', 
                    'job_group',
                ]

    def __init__(self, *args, **kwargs):
        self.user_company = kwargs.pop('user_company', None)
        super().__init__(*args, **kwargs)
        self.fields['job_group'].queryset = Jobgroup.objects.none()

Но при попытке проверить форму с помощью form.is_valid() будет выдано сообщение об ошибке.Поэтому, прежде чем сделать это, обновите набор запросов в представлениях следующим образом:

def some_view_def(request):
    form = JobForm(request.POST)
    form.fields['job_group'].queryset = JobGroup.objects.filter(...)  # <-- here 
    if form.is_valid():
       # rest of the code
...