Не использовать форму cleaned_data для автозаполнения в Django

Я использую автозаполнение в форме. Похоже, формы сохранения не нужно правильно принимать в моем скрытом поле.

Автозаполнение показывает имя: например, "Стив Бутаби". Предполагается, что отправка имени пользователя. Имя пользователя - "stevebutabi". После проверки входного значения. Имя пользователя 'stevebutabi' правильно отображается. Но в ПОЧТЕ, manager : 'Steve Butabi' показывает. И я получаю Exception Type: DoesNotExist, Мне нужно скрытое имя пользователя, а не строка, которую он представляет. Я знаю, что происходит, я просто не знаю, как это исправить.

Итак, я думаю, что я спрашиваю: есть ли способ игнорировать чистую функцию в форме Django?

forms.py

manager = forms.CharField(max_length=200, required=True, widget=forms.TextInput(attrs={'class':'input-text','id':'id_managerbox'}))

def clean(self):
     if not 'manager' in self.cleaned_data:
          raise forms.ValidationError('You must supply a manager for this fund.')
     return self.cleaned_data

def save(self, request):
     if self.is_valid():
          if self.cleaned_data['manager']:
               manager = ManagerProfile.objects.get(user__username=self.cleaned_data['manager'])
               # I've also tried :
               manager = ManagerProfile.objects.get(user__username=request.POST['manager'])
    ...
               ManagesFund.objects.get(manager=manager).save()

Javascript

   $(document).ready(function() {  
         $.get('/autocomplete/managers/', function(data) {
              var completions = new Array();
              var dict = JSON.parse(data, function(key, value) {
                   completions.push(key);
                   return value;
              });
              $('#id_managerbox').autocomplete({
                   source: completions,
                   minLength: 2,
                   select: function(event, ui) {
                        $('#id_manager').val(dict[ui.item.value]);
                   }
              });
         });
    });

шаблон

<input type="hidden" name="manager" id="id_manager" />
{{ form.manager }}

Заранее спасибо.

0 ответов

Другие вопросы по тегам