对象没有属性所有django

时间:2013-05-28 14:47:52

标签: django model attributes admin nonetype

我正在尝试重用一个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因此......它可能来自目前没有填充的数据库吗?

我非常感谢任何帮助,我已经坚持了很长一段时间,重要的是我设法克服这个烦人的错误..

提前感谢您的时间和建议。

1 个答案:

答案 0 :(得分:1)

将评论标记为未来参考的答案:

可能是一些陈旧的.pyc文件正常工作。虽然看起来很奇怪。你可能想要

forms.ModelChoiceField(FeaturedItem.objects.none(), required=False)