Django извлечение поля формы HTML - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть HTML-страница, которая возвращает данные в форме. Формы - это поле с несколькими вариантами выбора с "name=states1". Когда я запускаю print (vars (self)) в моем forms.py, я вижу, что данные там ['MD', 'WV', 'WY'] (см. Ниже), однако, когда я пытаюсь извлечь их с помощью print(self.data['states1']), я просто получаю 'WY' и print(len(self.data['states1'])) возвращает 2.

{'instance': <AA: AAobject>, '_validate_unique': False, 'is_bound': True, 'data': <QueryDict: {'csrfmiddlewaretoken': ['AAAAA']: ['1'], 'states1': ['MD', 'WV', 'WY'], 'states': [''], 'price': ['2.00'], 'user': ['1', '1']}>, ...

Однако, когда я бегу

import json
print(json.dumps(self.data, indent=2))

Я получаю следующий вывод

    {
  "csrfmiddlewaretoken": "AAAAA",
  "roles": "1",
  "states1": "WY",
  "states": "",
  "price": "2.00",
  "user": "1"
}

Данные просто исчезли. Почему мои данные ограничены последним полем, когда я отчетливо вижу их, когда смотрю на переменные?

forms.py

class UserProfileChangeForm(forms.ModelForm):
states = forms.CharField(widget=USStateSelect(), initial='TX', required=False)

class Meta:
    model = SkilledLaborer
    fields = ['user','roles','travel_flag','price','states']


def clean_states(self):
    print('states')
    states = self.cleaned_data['states']
    print(type(vars(self)))
    print(vars(self).keys())
    print(vars(self))
    print(self.data.keys())
    print(self.data['states1'])
    print(len(self.data['states1']))

    import json
    print(json.dumps(self.data, indent=2))

    try:
        self.data['states1']
    except:
        pass

    return states
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...