Python Django-无法将关键字解析为字段
我创建了一个名为Python Django-无法将关键字解析为字段,python,django,Python,Django,我创建了一个名为key的模型,它使用名为public的外键扩展了用户模型。模型如下: class key(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) public = models.CharField(max_length=30, blank=True) 这是可行的,但当我尝试执行以下查询时: User.objects.get(public=token) 我收到以下错误:
key
的模型,它使用名为public
的外键扩展了用户模型。模型如下:
class key(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
public = models.CharField(max_length=30, blank=True)
这是可行的,但当我尝试执行以下查询时:
User.objects.get(public=token)
我收到以下错误:
无法将关键字“public”解析到字段中
。如何在外键上执行此查询?任何建议都将不胜感激 这不是用户
模型的字段。但是,您可以使用双下划线(\uuuu
)来查看关系,因此您可以查询:
User.objects.get(key__public=token)
User.objects.get(key\u public=token)
注意:Django中的模型是用PerlCase编写的,而不是用snake_大小写, 因此,您可能需要将模型从
key
重命名为key
这不是
用户
模型的字段。但是,您可以使用双下划线(\uuuu
)来查看关系,因此您可以查询:
User.objects.get(key__public=token)
User.objects.get(key\u public=token)
注意:Django中的模型是用PerlCase编写的,而不是用snake_大小写, 因此,您可能需要将模型从
key
重命名为key
多谢各位!我只是注意到另一种方法是在我的model@Jack022:是如果您不喜欢反向查询的关系名称,您可以指定
相关的\u查询\u name='otherkey'
,例如在外键中,然后使用.get进行查询(otherkey\uu public=token)
。非常感谢!我只是注意到另一种方法是在我的model@Jack022:是如果您不喜欢反向查询的关系名称,您可以指定相关的\u查询\u name='otherkey'
,例如在外键中,然后使用.get(otherkey\uu public=token)
进行查询。