Luv*_*eet 1 python django django-models
我有一个模型有2个字段,如,
pickup_station_id = models.IntegerField(null=True)
drop_station_id = models.IntegerField(null=True)
Run Code Online (Sandbox Code Playgroud)
我想要一个admin中的过滤器,它可以根据以下内容过滤查询集:
如何根据这些条件获取查询集?
我的意思是,像这样的,
Mymodel.objects.filter(pickup_station_id==drop_station_id)
Mymodel.objects.filter(pickup_station_id!=drop_station_id)
Run Code Online (Sandbox Code Playgroud)
你可以参考一个˚F ield与F-expression [Django的DOC] .所以我们可以这样写:
from django.db.models import F
Mymodel.objects.filter(pickup_station_id=F('drop_station_id'))Run Code Online (Sandbox Code Playgroud)
我们可以否定一个q uery使用Q-object [Django的DOC] :
from django.db.models import F, Q
Mymodel.objects.filter(~Q(pickup_station_id=F('drop_station_id')))Run Code Online (Sandbox Code Playgroud)
在这里,tilde(~)意味着我们否定了Q对象所代表的条件.
| 归档时间: |
|
| 查看次数: |
119 次 |
| 最近记录: |