私はDjangoとpythonを初めて使用します。ログインフォームを作成しましたが、知っておく必要があります。ページのコンテンツをユーザーに接続するにはどうすればよいですか。例:これはQ&Aサイトです。ログインすると、ユーザーが以前に尋ねた質問を含むプロファイルページが表示されます。データはモデル内の特定のユーザーIDにどのようにリンクされていますか?Userオブジェクトを使用して実行できますか?もしそうなら、スクリプトの簡単な例を教えてください。
ありがとうございました。
私はDjangoとpythonを初めて使用します。ログインフォームを作成しましたが、知っておく必要があります。ページのコンテンツをユーザーに接続するにはどうすればよいですか。例:これはQ&Aサイトです。ログインすると、ユーザーが以前に尋ねた質問を含むプロファイルページが表示されます。データはモデル内の特定のユーザーIDにどのようにリンクされていますか?Userオブジェクトを使用して実行できますか?もしそうなら、スクリプトの簡単な例を教えてください。
ありがとうございました。
ユーザーに「属する」ものはすべて、ForeignKey
またはManyToManyField
(オブジェクトが1人のユーザーまたは複数のユーザーによって所有されているかどうかに応じて)のいずれかを持っている必要がありますUser
。User
次に、 :に基づいてモデルをフィルタリングできます。
SomeModel.objects.filter(user=some_user)
# where `user` is the name of your foreign key field
または、逆の関係を介してユーザーからモデルにアクセスできます。次に例を示します。
class SomeModel(models.Model):
...
user = models.ForeignKey(User)
# Later ...
some_user.somemodel_set.all()
2番目の方法は、通常、リクエストから既にユーザーがいるため、より一般的です。したがって、ビューでは、次のようにします。
somemodels = request.user.somemodel_set.all()
SomeModel
現在ログインしているユーザーに属するすべてのを取得します。