・IndexErrorを解決してスタッフ専用画面を表示させたい
ストア4つとスタッフ4人を設定して、ログインを試みた。 3人はログインできたが、1人はログイン時にIndexErrorが起こり、スタッフ画面が表示されない
class MyPageView(LoginRequiredMixin, View): def get(self, request, *args, **kwargs): staff_data = Staff.objects.filter(id=request.user.id).select_related('user').select_related('store')[0] year = self.kwargs.get('year') month = self.kwargs.get('month') day = self.kwargs.get('day') start_date = date(year=year, month=month, day=day) days = [start_date + timedelta(days=day) for day in range(7)] start_day = days[0] end_day = days[-1]
・staff_data = Staff.objects.filter(id=request.user.id).select_related('user').select_related('store')[0] がエラー該当箇所になるので、末尾の('store')[0]の引数を変更するなどした。
・エラー画面にException Location: /Users/sawa/Desktop/django-custom-auth/myvenv/lib/python3.9/site-packages/django/db/models/query.py, line 325, in __getitem__と記載があったので、該当ファイルの該当箇所を調査した。
エラー画面です。
https://gyazo.com/f308515d11df9124cdc5eb17635e53a9
開発環境: macOS Ventura, Visual Studio Code 言語: Python 3.9.6 フレームワーク: django 3.1.14