1

私はDjangoとpythonを初めて使用します。ログインフォームを作成しましたが、知っておく必要があります。ページのコンテンツをユーザーに接続するにはどうすればよいですか。例:これはQ&Aサイトです。ログインすると、ユーザーが以前に尋ねた質問を含むプロファイルページが表示されます。データはモデル内の特定のユーザーIDにどのようにリンクされていますか?Userオブジェクトを使用して実行できますか?もしそうなら、スクリプトの簡単な例を教えてください。

ありがとうございました。

4

1 に答える 1

1

ユーザーに「属する」ものはすべて、ForeignKeyまたはManyToManyField(オブジェクトが1人のユーザーまたは複数のユーザーによって所有されているかどうかに応じて)のいずれかを持っている必要がありますUserUser次に、 :に基づいてモデルをフィルタリングできます。

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現在ログインしているユーザーに属するすべてのを取得します。

于 2012-01-04T15:18:49.047 に答える