這是在截獲的表單實例的上下文中。我需要得到字段列表,我可以。但是我無法僅獲取圖像字段。 這裏是我使用的代碼:Django過濾只能獲得某種類型字段的字段列表
list_of_image_fields = [x.name for x in instance._meta.fields if type(x) == 'django.db.models.fields.files.ImageFieldFile']
x.name正確地體現了各個領域的每一個名字形成meta.fields實例。 用if語句,我希望只獲取ImageField類型。 「式(X)」當我把它改爲x.name的返回此:
<class 'django.db.models.fields.files.ImageFieldFile'> #for each field
不過,這並不在我把它放在與空列表結束if語句的方式工作。 可以附加圖像我在調試器instance._meta.fields.03得到(這是場數03)
嗯,他們被認爲是FieldFile,注意ImageFieldFile ....我可以做到這一點,但無論如何得到區別? –
這是'get_internal_type'所不可能的,因爲'ImageFieldFile'繼承自'FieldFile',但沒有覆蓋函數'get_internal_type'。檢查它會使它更清楚的源代碼:https://docs.djangoproject.com/en/1.9/_modules/django/db/models/fields/files/。 「也許」做'x____ class __.__ name__'可能會顯示你正確的名字嗎? –