【发布时间】:2011-03-29 19:23:16
【问题描述】:
我想在 django 中请求您对以下问题的指导:
我正在使用以下型号:
class QItem(models.Model):
isWhat = models.CharField(max_length=100, blank=True, choices=ISWHAT)
slug = models.SlugField(blank=True)
script = models.CharField(max_length=100)
comment = models.TextField(blank=True, null=True)
author = models.ForeignKey(User)
class QuestionSet(QItem):
items = models.ManyToManyField(QItem, blank=True, through='Ordering',related_name="contained")
class Question(QItem):
answerObject = models.OneToOneField("AnswerObject", blank=True, null=True)
以及它们各自的最基本的 ModelForms:
class QuestionForm(ModelForm):
class Meta:
model = Question
class QuestionSetForm(ModelForm):
class Meta:
model = QuestionSet
在视图中,调用
qset=QuestionFormSet()
print q
工作得很好。
然而,
q = QuestionForm()
print q
抛出
Exception Type: AttributeError
Exception Value: 'NoneType' object has no attribute 'label'
在 Django 的服务器中。在控制台中尝试时,我没有收到任何错误。 编辑:另外,modelform_factory(Question) 有效。
任何想法为什么会这样?为什么相似模型的行为如此不同,我该如何摆脱错误?
编辑: 这是完整的追溯:
get_response 中的文件“/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/handlers/base.py” 100. 响应 = 回调(请求,*callback_args,**callback_kwargs) _wrapped_view 中的文件“/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/contrib/auth/decorators.py” 25. return view_func(request, *args, **kwargs) 仪表板中的文件“/Library/WebServer/Documents/dj1/../dj1/esm/views.py” 193.打印qForm str 中的文件“/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/utils/encoding.py” 27. return self.unicode().encode('utf-8') unicode 中的文件“/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/forms/forms.py” 95. 返回 self.as_table() as_table 中的文件“/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/forms/forms.py” 217.errors_on_separate_row = False) _html_output 中的文件“/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/forms/forms.py” 145. bf = BoundField(自我,字段,名称) init 中的文件“/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/forms/forms.py” 398.如果self.field.label为None:
异常类型:AttributeError at /esm/dashboard/ 异常值:“NoneType”对象没有属性“标签”
【问题讨论】:
-
对我来说效果很好。你的应用程序验证了吗?那 trough="Ordering" 定义明确吗?请发布完整的回溯!
-
是的,请发布更多的回溯。
-
是的,模型确实验证了,所有模型似乎都可以很好地协同工作。有趣的是通过modelform_factory创建表单不会产生任何错误。
标签: django django-forms