私はdjangoの初心者で、登録ユーザーの最後にアクセスしたページをプロファイルページに表示する必要があるプロジェクトに取り組んでいます。履歴を保持したいメインオブジェクトに新しい many2many フィールドを追加することで、拡張ユーザークラス内でそれを実現しました。私の見解では、メンバーがリクエストを行うたびに、オブジェクトをメンバーの履歴に追加します。しかし、これでは私が望む結果が得られません。アイテムは注文されず、ユーザーがログインしていない場合、User DoesNotExist エラーが発生します。これよりも良い方法があることは知っていますが、見つけることができませんでした。おそらく私は正しい道を進んでいません。助けやアイデアをいただければ幸いです。
class myObjectView(View):
model = myObject
template_name = 'app/myobject_detail.html'
def get(self, request, **kwargs):
cat = Category.objects.all()
sec = Section.objects.all()
self.item = myObject.objects.get(slug = self.kwargs[u'slug'])
user = User.objects.get(username=request.user.username)
if user.is_authenticated():
if self.item in user.member.history.all():
user.member.history.remove(self.item)
user.member.history.add(self.item)
user.save()
else:
user.member.history.add(self.item)
user.save()