2017-10-18 18 views
0

を選択していません:あなたは彼らがInvoiceNumbersモデルの「related_name」の定義と関連している見ることができるようにDjangoのクエリは、私はジャンゴで次のモデルを持っているrelated_name

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') 
    [...] 

ノーようジャンゴでクエリを実行します。

payments = UserPayments.objects.filter(paym_user_id=user_id) 

そして、私はpay_invoice_metaが反復可能ではないことを、テンプレートのエラーを取得するテンプレート

{% for inv in payments %} 
     {% for meta in inv.paym_invoice_meta %} 
      {{ meta.inv_invoice_hash }} 
     {% endfor %} 
{% endfor %} 

にこのクエリを繰り返し処理。左外部結合を含む手動選択ステートメントでは、すべての結果が得られます。

私はここで何が欠けていますか? InvoiceNumbersから値を選択するようにクエリを強制するにはどうすればよいですか?

+0

それをだ –

答えて

0

呼関連オブジェクトのall方法は、クエリセットを返す:

{% for inv in payments %} 
    {% for meta in inv.paym_invoice_meta.all %} 
     {{ meta.inv_invoice_hash }} 
    {% endfor %} 
{% endfor %} 
+0

{inv.paym_invoice_meta.all%以下でメタため%} を置き換えます。どうもありがとう! 検索に時間が掛かりました。 – FreddyFFM

関連する問題