2010-02-01 100 views
0

我有一個包含FileField的模型。我想搜索一個特定的文件名。我該怎麼做?我正在嘗試:Django ORM:在字段屬性上選擇

MyModel.objects.get(document__name=FOO) 

我在字段'文檔'中獲得了加入是不允許的。

謝謝!

+0

可能有助於分享您的機型。 – monkut 2010-02-01 02:05:23

+0

文檔是標準的FileField,名稱是它的標準屬性。 – SapphireSun 2010-02-01 02:07:34

回答

1

您可以在文檔上進行過濾,並且會按照磁盤上的路徑字符串過濾文件。

2

FileField的屬性未存儲在數據庫中,因此無法在查詢中使用。例如,名稱只是upload_to字符串加上文件名。如果您想存儲有關文件的額外數據,則必須將該數據放入數據庫的其他字段中,如example documentation所示,Car的名稱爲「57 Chevy」。

此外,Django ORM中的雙下劃線通常表示數據庫關係遵循數據庫關係,即ForeignKeyManyToMany。因此,在您提供的示例ORM調用中,我會假設MyModel的字段documentForeignKeyManyToMany與另一個模型,並且該其他模型具有名爲name的字段。這聽起來不像是這種情況。

希望有助於一些。

2

而是執行此操作:

MyModel.objects.get(document__icontains='FOO')