我的对象设置如下:
class Event(Model):
pass
class Inventory(Model):
event = OneToOneField(Event)
def has_altered_item_counts(self):
return any(obj.field_one is not None or obj.field_two is not None for obj in self.itemcounts_set.all())
class ItemCounts(Model):
inventory = ForeignKey(Inventory)
field_one = IntegerField(blank=True, null=True)
field_two = IntegerField(blank=True, null=True)
基本上,我想在Event
上进行唯一筛选,其中inventory.has_altered_item_counts
将返回False
我有
Q(inventory__itemcounts__field_one__isnull=True) & \
Q(inventory__itemcounts__field_two__isnull=True)
但每次满足这些条件时,它都会返回事件。考虑到这个结果,如果事件出现的次数小于项目计数的总数,我想排除该事件。这些有什么意义吗?用filter
这可能吗?我真的有点需要它,这是以编程方式构建的批处理的一部分update
最后我在一个“先获取我试图排除的PKs,然后排除那些PKs”中完成了
其他人感兴趣的例子:
很有魅力
相关问题 更多 >
编程相关推荐