我有这样的东西:
class Video(models.Model):
user = models.ForeignKey(User, related_name='owner')
...
我正在尝试通过执行以下操作来访问特定用户拥有的所有视频:
u = User.objects.get(pk=1)
u.video_set.all()
我收到错误“用户对象没有属性 video_set”
我做错了什么吗?
最佳答案
related_name 是从目标模型(在本例中为用户)引用它的名称。您应该调用的设置方式:
u = User.objects.get(pk=1)
u.owner.all()
但是为了清楚起见,您可能应该将相关名称设置为 lated_name='video_set'
(顺便说一句,这是它的默认名称)。然后你可以调用u.video_set.all()
,这看起来更合乎逻辑。
关于django - 在Django中,如何获取具有特定用户外键的所有相关对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8001379/