django - 在Django中,如何获取具有特定用户外键的所有相关对象

标签 django django-models django-authentication django-related-manager

我有这样的东西:

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/

相关文章:

django - 我正在尝试在 AWS Lightsail 中的 Docker 上部署 Django,页面在没有连接到服务器的情况下卡住加载

python - Django 在运行时添加模型方法

django - 在 Django 的模板中检查权限

python - 使用 django.contrib.auth 限制对 Ajax 服务的访问

mysql - 了解 mysql.log 的输出

python - 如何使用 django 表单编辑模型数据

Django 外键 : settings. AUTH_USER_MODEL 一直为 form.save 提供空值

Django 模型表单 "unique=True"

Django/Auth : logout clears the session data?

python - 在派生自 Django 模型的类上使用 __new__ 不起作用