【问题标题】:object has no attribute all django对象没有属性 all django
【发布时间】:2013-05-23 14:26:23
【问题描述】:

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

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

提前感谢大家的时间和建议。

【问题讨论】:

  • 可能是一些缓存的编译文件运行良好。虽然看起来很奇怪。你可能想要forms.ModelChoiceField(FeaturedItem.objects.none(), required=False)
  • 非常感谢它工作得很好:-)

标签: django model attributes admin nonetype


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2017-06-16
    • 2019-01-11
    • 2021-07-06
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    • 2020-02-11
    • 2015-02-19
    • 2016-03-30
    相关资源
    最近更新 更多