Google App Engine django模型表单不会选择BlobProperty

时间:2010-06-13 21:15:18

标签: python google-app-engine django-forms

我有以下型号:

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字段也包含在表单中(作为文件输入)。我做错了什么?

2 个答案:

答案 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(),
    }