我有一个包含FileField的模型。我想搜索特定的文件名。我该怎么做?我在努力:
MyModel.objects.get(document__name=FOO)
我不允许加入字段“文档”。
谢谢!
答案 0 :(得分:2)
FileField
的属性未存储在数据库中,不能在查询中使用。例如,名称只是upload_to
字符串加上文件名。如果要存储有关文件的额外数据,则必须将该数据放入数据库的其他字段,因为example documentation显示的汽车名称为“57 Chevy”。
此外,通常Django的ORM中的双下划线表示遵循数据库关系,ForeignKey
或ManyToMany
。因此,在您提供的示例ORM调用中,我假设MyModel
的字段document
与另一个模型的ForeignKey
或ManyToMany
相对应,而其他模型具有一个名为name
的字段。这听起来不是这样的。
希望有所帮助。
答案 1 :(得分:2)
请改为:
MyModel.objects.get(document__icontains='FOO')
答案 2 :(得分:1)
您可以对文档进行过滤,它将按照磁盘上的路径字符串进行过滤。