Проблемы с Django MultiValueField - PullRequest
       0

Проблемы с Django MultiValueField

0 голосов
/ 04 декабря 2010

Я пишу приложение на движке приложений Google, используя почтовый индекс Django 1.0.2, потому что я использую патч appengine.(Да, это старая установка.)

Я пытаюсь реализовать MultiValueField, и он не работает.В качестве примера я взял именно код из http://www.hoboes.com/Mimsy/hacks/django-forms-edit-inline/multiwidgets-templates/ и поместил CMSChangeFields в мою форму следующим образом

# In models
class Foo(db.Model):
  foo = db.StringProperty()
  bar = db.StringProperty()

# In forms
class FooForm(djangoforms.ModelForm):
  foo = fields.CMSChangeFields()
  class Meta:
    model = models.Foo

Если я закомментирую foo в FooForm, я вижу два поля редактирования.Если я оставлю foo внутри, я увижу «[[UNDEFINED VARIABLE]]», именно это я и установил для TEMPLATE_STRING_IF_INVALID в своем файле settings.py.

Что происходит?может быть несоответствие между типами Foo.foo и FooForm.foo, но я не уверен.

В качестве альтернативы, как мне отладить это?Я переопределяю init методы полей, форм и т. Д. И веду журналы, но не могу сказать, что не так.

Если я пытаюсь использовать отладчик, онбуквально занимает> 10 минут для запуска и использует неправильные исходные файлы (версию Django google_appengine вместо моего zip-файла), хотя я тщательно изучил настройки проекта.Я говорю, что отладчик бросает мне вызов.

1 Ответ

0 голосов
/ 05 декабря 2010

Если кто-нибудь когда-нибудь сталкивался с этим, моей проблемой было возвращение None из моего распакованного виджета. Любое значение, полученное в результате распаковки, должно иметь такое же количество доступных значений, как и виджеты в MultiWidget (в моем случае два). Если foo - None, то foo [1] - это плохо. К сожалению, Django 1.0.2 сообщил об этой проблеме с пустым значением.

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