【发布时间】:2020-02-04 21:53:47
【问题描述】:
如果我们有类似的模型
class SomeModel(models.Model):
field_1 = models.IntegerField()
field_2 = models.IntegerField()
在每个给定value 的查询中,如果我们必须检查这两个字段,是否可以使用自定义Manager 来简化冗余(field_1=value, field_2=value)?
SomeModel.objects.filter(Q(field_1=value) | Q(field_2=value))
SomeModel.objects.filter(Q(field_1=value) | Q(field_2=value)).count()
【问题讨论】:
-
鉴于您每次都需要这样做,是否存在
field_1和field_2具有不同值的情况? -
好收获。不,它们永远不会相同,它的
or条件而不是and。
标签: django django-models django-managers