7

私はこのようなものを持っています:

class Video(models.Model):
    user = models.ForeignKey(User, related_name='owner')
    ...

そして、特定のユーザーが持っているすべてのビデオに次のようにしてアクセスしようとしています:

u = User.objects.get(pk=1)
u.video_set.all()

「ユーザーオブジェクトに属性 video_set がありません」というエラーが表示されます

私は何か間違ったことをしていますか?

4

1 に答える 1

15

related_name は、ターゲット モデル (この場合はユーザー) から参照するための名前です。設定した方法で呼び出す必要があります:

u = User.objects.get(pk=1)
u.owner.all()

ただし、明確にするために、おそらく関連する名前を次のように設定する必要related_name='video_set'があります(これはデフォルトの名前です)。次に、u.video_set.all()どちらがより論理的に見えるかを呼び出すことができます。

于 2011-11-03T20:29:57.273 に答える