問題なく動作する既存の 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 を修正するだけでした.. . 現時点でデータが取り込まれていないデータベースが原因でしょうか?
私はかなり長い間それで立ち往生しており、この厄介なバグをなんとか乗り越えることが重要です..
お時間とアドバイスをいただき、ありがとうございました。