[英]How to make same value of one column for those rows which have same values in another column pandas
[英]How to make a query that filters rows in which one column equals another one of the same table?
假設我有一個 model 看起來像:
class StockRequest(models.Model):
amount_requested = models.PositiveIntegerField(null=True)
amount_approved = models.PositiveIntegerField(null=True)
有什么方法可以進行 django 查詢,該查詢將向我顯示在特定對象/行上的 amount_requested 和 amount_approved 之間存在某種關系的所有請求?
在 SQL 中,它很簡單:
select * from stockrequest where amount_requested = amount_approved;
或者
select * from stockrequest where amount_requested = amount_approved;
在 Django 中,我不確定它是否可以完成,但我想像下面這樣(注意:語法完全組成並且不起作用)。
StockRequest.objects.filter(amount_requested="__amount_approved")
from django.db.models import F
StockRequest.objects.filter(amount_requested=F("amount_approved"))
http://docs.djangoproject.com/en/dev/topics/db/queries/#filters-can-reference-fields-on-the-model
是的你可以。 您可以使用內置的“F”object來執行此操作。
語法是:
from django.db.models import F
StockRequest.objects.filter(amount_requested=F("amount_approved"))
或者
StockRequest.objects.filter(amount_requested__gt=F("amount_approved"))
注意:我寫完問題后立即找到了答案。 由於我在任何地方都沒有在 Stack Overflow 上看到過這個,所以我把它留給了這個答案。
檢查F()
function上的文檔:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.