私は、エンドユーザーの進行状況をタスクに保存するモデルを用意しています。djangoでは、ユーザーがログインしたときに、セッションの外部キーからユーザーの外部キーにオブジェクトを移動する方法
class TaskCompleted(models.Model):
session = models.ForeignKey('sessions.Session', on_delete=models.SET_NULL,blank=True, null=True)
user = models.ForeignKey(User, blank=True, null=True)
task = models.ForeignKey(Task, blank=True, null=True)
エンドユーザーがログインしているか、ログインしていない可能性があります。彼らがログに記録されている場合、私はそれをユーザーに対して保存し、そうでなければセッションに対して保存します。
ユーザーがログインすると、認証されていない間に完了したタスクを見つけて、ユーザーの外部キーを更新してアカウントに関連付ける必要があります。
セッションが破棄されているため、セッションをNullに設定しています。
これを処理する方法に関する他の提案に興味がありますか?
Javascript 'document.cookie'はこのトリックを行います。 – mVChr
申し訳ありません。これについてもう少し詳しく説明できますか? – Thereissoupinmyfly
ユーザーが認証されていない場合は、完了したタスクをCookieに保存します。ユーザーがログインすると、クッキーが存在する場合はそのクッキーからタスクを取り出し、ユーザーに関連して保存します。 – mVChr