如何按字段相等进行过滤?

Nip*_*ips 1 django django-models

我有型号:

Class MyModel(models.Model):
    item = models.ForeignKey(Item, related_name='item')
    value = models.IntegerField(default=0)
    ritem = models.ForeignKey(Item, related_name='r_item')
Run Code Online (Sandbox Code Playgroud)

我想找到所有 item=ritem 的地方。怎么做?

knb*_*nbk 6

使用一个F物体。这将比较数据库中两个字段的值。

from django.db.models import F

models = MyModel.objects.filter(item=F('ritem'))
Run Code Online (Sandbox Code Playgroud)