Skip to main content
 首页 » 编程设计

python之如何使用 Django-MongoDB 引擎根据模型上 DictField 中的字典内容进行过滤

2025年05月04日8telwanggs

给定模型:

class Post(models.Model): 
    datas = ListField(EmbeddedModelField('Comment'),blank=True) 
    data = DictField() 
 
class Comment(models.Model): 
    name = models.CharField(max_length=255) 
    date = DateField(blank=True, null=True) 

如果我们将数据变量设置为:

{'key':'value'} 

有没有办法过滤 key=='value' 的帖子?

作为替代方案,嵌入文档怎么样?有没有办法过滤出作者名为“Ralph”的帖子?

这似乎必须是可能的,否则这个 ORM 限制太多而无用,这似乎不太可能。

请您参考如下方法:

您可以使用原始查询筛选作者名为“Ralph”的帖子:

Post.objects.raw_query({'author.name': "Ralph"})