我有一个带有自定义用户模型的 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/