我有以下模型:
class Like(EmbeddedDocument):
user = ReferenceField(User,dbref=False)
date = DateTimeField(default=datetime.utcnow,required=True)
meta = {'allow_inheritance': False}
class Post(Document):
name = StringField(max_length=120, required=True)
likes = ListField(EmbeddedDocumentField(Like))
我想只过滤超过 20 个赞的帖子(ListField 大小大于 20)。我尝试使用以下方式查询:
posts = Post.objects.filter(likes__size_gte=20)
posts = Post.objects.filter(likes_gte=20)
posts = Post.objects.filter(likes__gte=20)
posts = Post.objects.filter(likes__size_gte=20)
它们都不起作用。
但是,如果我使用完全匹配(ListField 大小正好 20 个喜欢)它可以工作:
posts = Post.objects.filter(likes__size=20)
注释?