【发布时间】:2012-04-25 00:06:03
【问题描述】:
我有一个 models.ForeignKey 的子类,其唯一目的是使用自定义小部件:
from django.db import models
from .models import Images
class GAEImageField(models.ForeignKey):
def __init__(self, **kwargs):
super(GAEImageField, self).__init__(Images, **kwargs)
def formfield(self, *args, **kwargs):
field = forms.ModelChoiceField(self, widget=ImageUploadWidget, *args, **kwargs)
field.queryset = Images.objects.all()
return field
问题是,当我尝试使用该字段时,__init__ 的任何参数都会被忽略。例如,如果我尝试这个模型:
class SomethingWithImage(models.Model):
name = models.CharField('Awesome name', max_length=64)
image = GAEImageField(verbose_name='Awesome image', blank=True)
...尽管我指定了verbose_name,但生成表单上的标签将是“图像”,即使我使用blank=True,尝试指定空值也会引发错误
【问题讨论】:
标签: django django-models