Python 访问链接到Django用户的模型

Python 访问链接到Django用户的模型,python,django,Python,Django,使用python 2.7和Django 1.10 我有一个名为hostname的模型,它链接到Django用户。我可以将一个模型对象分配给一个用户,并且可以正确地创建该对象;通过django admin GUI,我可以确认对象主机名已经创建并正确分配给choosen用户 我的问题是,通过Python manage.py shell,如何列出链接到特定用户的所有主机名对象,让我们调用用户user1 到目前为止,我得到了这个: >>> from app.models import

使用python 2.7和Django 1.10

我有一个名为hostname的模型,它链接到Django用户。我可以将一个模型对象分配给一个用户,并且可以正确地创建该对象;通过django admin GUI,我可以确认对象主机名已经创建并正确分配给choosen用户

我的问题是,通过Python manage.py shell,如何列出链接到特定用户的所有主机名对象,让我们调用用户user1

到目前为止,我得到了这个:

>>> from app.models import *
>>> from django.contrib.auth.models import User
>>> userVar = User.objects.get(pk=2)
>>> userVar
<User: user1>
>>> userVar.hostname()
我尝试过对上述命令进行不同的编辑,但都失败了,出现了相同的错误

在models.py中:

class Hostname(models.Model):
    user = models.ForeignKey(User)
    name = models.CharField(max_length=200)
    def __str__(self):
        return self.name

我已经尽了最大的努力在谷歌上搜索这个,但我对Django还不熟悉,而且还在研究这个术语,所以如果有人能更正我在这里使用的术语,我将不胜感激。

您正在尝试查询一个记录在案的反向关系

如果模型具有外键,则外键模型的实例将 可以访问返回第一个实例的所有实例的管理器 模型默认情况下,此管理器名为FOO_set,其中FOO是 源模型名称,小写。此管理器返回QuerySet,其中 可以按照“检索”中的说明进行筛选和操作 上面的“对象”部分


你不应该使用用户模型来过滤主机名,而应该使用主机名模型。不幸的是,这不是一个选项。我需要查找分配给用户的各种主机名。另一种方法需要遍历所有主机名,并查看它们是否与user1相关。完美,这正是我所需要的。谢谢你,艾莉!
class Hostname(models.Model):
    user = models.ForeignKey(User)
    name = models.CharField(max_length=200)
    def __str__(self):
        return self.name
user = User.objects.get(pk=2)
user_hosts = user.hostname_set.all()