2010-12-04 62 views
0

我正在使用Django 1.0.2的zip编写Google应用引擎上的应用程序,因为我正在使用appengine补丁程序。 (是的,这是一个旧的设置。)Django MultiValueField问题

我想实现一个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,我会看到“[[UNDEFINED VARIABLE]]”,这是我在settings.py中设置了TEMPLATE_STRING_IF_INVALID。

发生了什么事?

我看到Foo.foo和FooForm.foo类型之间可能存在不匹配,但我不确定。

或者,我该如何调试?我一直在重写init字段,表单等的方法,并记录事物,但我不知道什么是错误的。

如果我尝试使用调试器,它启动时需要> 10分钟,并且使用错误的源文件(Django的google_appengine版本,而不是我的zip文件),即使我已经在项目之上仔细设置。我说的是调试器无视我。

回答

0

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