我正在尝试创建一个Django表单,允许我在创建AbstractUser时包含图像字段。
## models.py
class Student(AbstractUser):
def __unicode__(self):
string = self.get_full_name()
return unicode(string)
photo = models.ImageField(upload_to='photos')
## admin.py
class StudentChangeForm(UserChangeForm):
class Meta:
model = Student
class StudentCreationForm(UserCreationForm):
class Meta:
model = Student
def clean_username(self):
username = self.cleaned_data["username"]
try:
Student.objects.get(username=username)
except Student.DoesNotExist:
return username
raise forms.ValidationError(self.error_messages['duplicate_username'])
尽管添加了应该为表单创建额外字段的元类,但它似乎是排除了照片字段。我已经尝试过根本不起作用的fields = ['photo']。我知道UserChangeForm继承了用户的所有变化能力,但是我应该如何将照片图像字段添加为更改表单和创建表单的一部分?