Python 如何在django中查看模型的所有可能查询集
我在django有两个类似的型号Python 如何在django中查看模型的所有可能查询集,python,django,Python,Django,我在django有两个类似的型号 class User(AbstractBaseUser, PermissionsMixin): first_name = models.CharField(....) last_name = models.CharField(_(....) email = models.EmailField(...) class VcsToken(models.Model): user = models.ForeignKey(User, on_
class User(AbstractBaseUser, PermissionsMixin):
first_name = models.CharField(....)
last_name = models.CharField(_(....)
email = models.EmailField(...)
class VcsToken(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
如您所见,VcsToken
与用户相关,一个用户可以有许多VcsToken
用户的所有VcsTokens
集合
,但是我怎么知道集合名称呢?)有没有办法列出模型的查询集合名称
您要寻找的是在外键关系上向后走的功能。这在文档中有介绍: 在您的示例中,您应该能够从用户处访问VcsToken,如下所示:
user=user.objects.get(pk=1)#让我们来看一个示例用户
user.vcstoken_set.all()#返回所有相关的vcstoken对象。
或者,当定义ForeignKey时,您可以指定django将用于此目的的相关_name
参数。例如:
类用户(AbstractBaseUser,PermissionsMixin):
...
email=models.EmailField(…)
VcsToken类(型号.型号):
user=models.ForeignKey(用户,在_delete=models.CASCADE上,相关的_name='tokens')
如果指定了这样一个参数,那么这就是django使用的反向查找名称,您需要执行user.tokens.all()
来访问它们。如果未指定此类参数,django将使用以“\u set”结尾的默认名称
希望这有帮助,如果有什么需要澄清的,请告诉我。您正在寻找的是在外键关系上向后走的功能。这在文档中有介绍: 在您的示例中,您应该能够从用户处访问VcsToken,如下所示:
user=user.objects.get(pk=1)#让我们来看一个示例用户
user.vcstoken_set.all()#返回所有相关的vcstoken对象。
或者,当定义ForeignKey时,您可以指定django将用于此目的的相关_name
参数。例如:
类用户(AbstractBaseUser,PermissionsMixin):
...
email=models.EmailField(…)
VcsToken类(型号.型号):
user=models.ForeignKey(用户,在_delete=models.CASCADE上,相关的_name='tokens')
如果指定了这样一个参数,那么这就是django使用的反向查找名称,您需要执行user.tokens.all()
来访问它们。如果未指定此类参数,django将使用以“\u set”结尾的默认名称
希望这有帮助,如果需要澄清,请告诉我。对于给定的
用户
对象myuser
,您可以通过以下方式访问此内容:
myuser.vcstoken_set.all()
这将反向构造
外键
的名称列表。对于给定的用户
对象我的用户
,您可以通过以下方式访问此列表:
myuser.vcstoken_set.all()
这将构建一个外键s的名称列表,其顺序相反。谢谢:),惯例让我感到困惑。我试着用复数形式(谢谢:),这个惯例把我弄糊涂了。我试着用复数形式