我有一個包含FileField的模型。我想搜索一個特定的文件名。我該怎麼做?我正在嘗試:Django ORM:在字段屬性上選擇
MyModel.objects.get(document__name=FOO)
我在字段'文檔'中獲得了加入是不允許的。
謝謝!
我有一個包含FileField的模型。我想搜索一個特定的文件名。我該怎麼做?我正在嘗試:Django ORM:在字段屬性上選擇
MyModel.objects.get(document__name=FOO)
我在字段'文檔'中獲得了加入是不允許的。
謝謝!
您可以在文檔上進行過濾,並且會按照磁盤上的路徑字符串過濾文件。
FileField
的屬性未存儲在數據庫中,因此無法在查詢中使用。例如,名稱只是upload_to
字符串加上文件名。如果您想存儲有關文件的額外數據,則必須將該數據放入數據庫的其他字段中,如example documentation所示,Car的名稱爲「57 Chevy」。
此外,Django ORM中的雙下劃線通常表示數據庫關係遵循數據庫關係,即ForeignKey
或ManyToMany
。因此,在您提供的示例ORM調用中,我會假設MyModel
的字段document
是ForeignKey
或ManyToMany
與另一個模型,並且該其他模型具有名爲name
的字段。這聽起來不像是這種情況。
希望有助於一些。
而是執行此操作:
MyModel.objects.get(document__icontains='FOO')
可能有助於分享您的機型。 – monkut 2010-02-01 02:05:23
文檔是標準的FileField,名稱是它的標準屬性。 – SapphireSun 2010-02-01 02:07:34