gpt4 book ai didi

python - 用户模型的外键未按预期工作

转载 作者:太空宇宙 更新时间:2023-11-03 21:13:04 27 4
gpt4 key购买 nike

我有一个带有自定义用户模型的 django 项目。

我有这个 Subscriptions 模型,它使用自定义用户模型作为其外键。

class Subscriptions(models.Model):
user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
app_subscriptions = models.CharField(max_length=100)

def __str__(self):
return self.app_subscriptions

但是,如果我尝试使用 ..app_subscriptions_set.all() 检索所有用户 app_subscriptions ,它总是返回以下错误:

AttributeError: 'CustomUser' object has no attribute 'app_subscriptions_set'

我在这里使用相同类型的模型:

from django.db import models

class Software(models.Model):
name = models.CharField(max_length=50)

def __str__(self):
return self.name

class Version(models.Model):
version = models.CharField(max_length=50)
software = models.ForeignKey(Software, on_delete=models.CASCADE)

def __str__(self):
return self.version

在此模型上,我可以使用 ...version_set.last() 查询所有软件版本。

大家有什么想法吗?预先感谢您。

最佳答案

尝试使用 user_instance.subscriptions_set.all() 而不是 .app_subscriptions_set.all()

默认访问器是模型名称,全部小写,并附加_set。请参阅docs关于它,或this question .

您的模型版本就像这样:

software_instance.version_set.all()

关于python - 用户模型的外键未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54913507/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com