[英]Django query does not select related_name
我在django中確實有以下模型:
class UserPayments(models.Model):
_DATABASE = "payments"
id = models.AutoField(primary_key=True)
paym_psp_id = models.ForeignKey(ConfigPSP, null=True, on_delete=models.SET_NULL)
[...]
class InvoiceNumbers(models.Model):
_DATABASE = "payments"
id = models.AutoField(primary_key=True)
inv_date = models.DateField(null=False)
inv_payment_id = models.ForeignKey(UserPayments, null=True, on_delete=models.DO_NOTHING, related_name='paym_invoice_meta')
[...]
如您所見,它們與InvoiceNumbers模型中的“ related_name”定義相關。
當我不這樣做時在django中查詢:
payments = UserPayments.objects.filter(paym_user_id=user_id)
並在模板中遍歷此查詢
{% for inv in payments %}
{% for meta in inv.paym_invoice_meta %}
{{ meta.inv_invoice_hash }}
{% endfor %}
{% endfor %}
我收到pay_invoice_meta不可迭代的模板錯誤。 使用包含左外部聯接的手動選擇語句,可以獲得所有結果。
我在這里想念什么? 如何強制查詢從InvoiceNumbers中選擇值?
調用相關對象的all
方法以返回QuerySet:
{% for inv in payments %}
{% for meta in inv.paym_invoice_meta.all %}
{{ meta.inv_invoice_hash }}
{% endfor %}
{% endfor %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.