[英]Perform query with foreignkey django
我是 django 的新手,我有这两个 django 型号。 现在我正在尝试查询第二个模型(GenerateKeys)中的条带,它有条带作为外键,我这样做的方式是这样的“
条纹.stripe_customer.all()
“所以我可以从 Stripe model 中的每个用户那里获取个人数据,并在 Generateakeys model 中使用它。但我一直在下面收到此错误
AttributeError: 'QuerySet' object 没有属性 'stripe_customer'
class Stripe(models.Model):
user = models.OneToOneField(to=User, on_delete=models.CASCADE)
CustomerId = models.CharField(max_length=255)
class GenerateKeys(models.Model):
stripe = models.ForeignKey(Stripe,on_delete=models.CASCADE,related_name='stripe_customer')
key_sha = models.CharField(max_length=255)
谢谢。
您收到属性错误是因为您尝试从查询集中访问实例变量。
首先,获取您的实例,为了举例,我将保持简单。
您可能想使用一些参数来获取您的实例。
instance = stripe.first() # Get the first item in the queryset
customers = instance.stripe_customer.all()
如果要获取每个model 的个别数据; 遍历查询集。
如果GenerateKeys
model 已经有一个实例,您可以使用注释来获取每个客户所需的数据。
例子:
qs_annotated = GenerateKeys.objects.all()\
.annotate(non_existant_field=models.F('stripe__user__username'))
然后你可以像这样访问它:
for inst in qs_annotated:
print(inst.non_existant_field)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.