我有以下型号:
class Image(db.Model):
auction = db.ReferenceProperty(Auction)
image = db.BlobProperty()
thumb = db.BlobProperty()
caption = db.StringProperty()
item_to_tag = db.StringProperty()
以下表格:
class ImageForm(djangoforms.ModelForm):
class Meta:
model = Image
当我调用ImageForm()时,只创建非Blob字段,如下所示:
<tr><th><label for="id_auction">Auction:</label></th><td><select name="auction" id="id_auction">
<option value="" selected="selected">---------</option>
<option value="ahRoYXJ0bWFuYXVjdGlvbmVlcmluZ3INCxIHQXVjdGlvbhgKDA">2010-06-19 11:00:00</option>
</select></td></tr>
<tr><th><label for="id_caption">Caption:</label></th><td><input type="text" name="caption" id="id_caption" /></td></tr>
<tr><th><label for="id_item_to_tag">Item to tag:</label></th><td><input type="text" name="item_to_tag" id="id_item_to_tag" /></td></tr>
我希望Blob字段也包含在表单中(作为文件输入)。我做错了什么?
答案 0 :(得分:1)
我认为我的问题取决于Django不支持blob这一事实,所以在生成Django表单时,BlobProperty会被忽略。
答案 1 :(得分:0)
您可以使用widgets
属性来定义用于blob属性的字段类型:
class ImageForm(djangoforms.ModelForm):
class Meta:
model = Image
widgets = {
'image': djangoforms.FileInput(),
'thumb': djangoforms.FileInput(),
}