3
refence當前對象(F對象)
我Order
模式是這樣的:如何內RawSQL
class Order(models.Model):
...
billing_email = models.EmailField()
...
所需的輸出,我尋找的是一個ValuesQuerySet
會包含一些字段的值和金額的計算值的訂單與billing_email
相同。
我試圖引用billing_email
與F
對象,但這樣做的結果如下到錯誤:
In [68]: orders = Order.objects.annotate(
total_orders=RawSQL(
"SELECT COUNT(*) FROM appname_order WHERE billing_email = %s",
(F('billing_email'),) # current instance's billing_email
),
)
In [69]: orders
Out [70]: ProgrammingError: can't adapt type 'F'
差不多我需要評估並輸出爲每個實例的額外字段中的值:
Order.objects.filter(billing_email__iexact=<current_billing_email>).count()
對於每個實例,我真的不想循環實際實例和重建。我必須在這裏錯過一些簡單的解決方案。
在此先感謝您的幫助。
我覺得usign F()可以讓你得到一個列或字段不從DB把它的值。查看[F類文檔](https://docs.djangoproject.com/en/1.9/ref/models/expressions/#django.db.models.F)。 – JazZ
謝謝,但並沒有真正幫助我的問題。問題是我需要在旅途中引用'this'(current)行的值('billing_email')來構造額外的輸出 – StriveForBest