【问题标题】:Troubles with Django MultiValueFieldDjango MultiValueField 的问题
【发布时间】:2010-12-04 17:53:48
【问题描述】:

我正在使用 Django 1.0.2 的 zip 在 Google 应用引擎上编写应用程序,因为我正在使用 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

如果我在 FooForm 中注释掉 foo,我会看到两个编辑字段。如果我把 foo 留在里面,我会看到“[[ UNDEFINED VARIABLE ]]”,这是我在 settings.py 中设置的 TEMPLATE_STRING_IF_INVALID。

发生了什么?

我发现 Foo.foo 和 FooForm.foo 类型之间可能不匹配,但我不确定。

或者,我该如何调试它?我一直在重写字段、表单等的 init 方法,并记录了一些东西,但我不知道哪里出了问题。

如果我尝试使用调试器,它实际上需要超过 10 分钟才能启动,并且使用了错误的源文件(Django 的 google_appengine 版本而不是我的 zip 文件),即使我已经完成了项目设置小心。我的意思是调试器在挑战我。

【问题讨论】:

    标签: django google-app-engine


    【解决方案1】:

    如果有人遇到过这个问题,我的问题是从我的小部件解压缩中返回 None。来自 decompress 的任何值都必须具有与 MultiWidget 中的小部件相同数量的可下标值(在我的情况下为两个)。如果 foo 为 None,则 foo[1] 不好。不幸的是,Django 1.0.2 报告了空值问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 2012-04-18
      • 2010-12-09
      • 2012-10-22
      • 2012-01-13
      • 2012-05-09
      • 1970-01-01
      相关资源
      最近更新 更多