我正在尝试重用一个existant Django项目,它运行得很好,但我在特定部分遇到错误。我只使用管理界面和很多模型。错误如下:
每当我尝试通过管理员添加一个(特定模型的)对象时,我得到:
'NoneType' object has no attribute 'all'
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/myapp/style/add/
Django Version: 1.5.1
Exception Type: AttributeError
Exception Value:
'NoneType' object has no attribute 'all'
Exception Location: /usr/lib/python2.7/site-packages/django/forms/models.py in __iter__, line 919
我在admin.py中找到了“NoneType”:
class StyleForm(forms.ModelForm):
featured_item = forms.ModelChoiceField(None, required=False)
并在models.py中:
def featured_item_id(self):
fi_list = FeaturedItem.objects.filter(style=self)
if fi_list.count() > 0:
return fi_list[0].item.id
else:
return None
我理解如果项目从未工作过并且在其他地方此刻没有工作,这样的错误是可能的,但这是一个功能性的Django项目,我所做的就是在本地迁移它,修复settings.py因此......它可能来自目前没有填充的数据库吗?
我非常感谢任何帮助,我已经坚持了很长一段时间,重要的是我设法克服这个烦人的错误..
提前感谢您的时间和建议。
答案 0 :(得分:1)
将评论标记为未来参考的答案:
可能是一些陈旧的.pyc
文件正常工作。虽然看起来很奇怪。你可能想要
forms.ModelChoiceField(FeaturedItem.objects.none(), required=False)