0

問題なく動作する既存の 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 を修正するだけでした.. . 現時点でデータが取り込まれていないデータベースが原因でしょうか?

私はかなり長い間それで立ち往生しており、この厄介なバグをなんとか乗り越えることが重要です..

お時間とアドバイスをいただき、ありがとうございました。

4

1 に答える 1

1

今後の参考のために、コメントを回答としてマークします。

おそらく、正常に機能していた古い.pycファイルである可能性があります。奇妙に思えますが。あなたはおそらく欲しかった

forms.ModelChoiceField(FeaturedItem.objects.none(), required=False)
于 2013-05-28T15:14:09.633 に答える