[英]Want to add a Form field in Admin along with Model fields in django
I want to add 3 fields in my Admin.py page. 我想在Admin.py页面中添加3个字段。 out of which two fields are from Model.py and one field is from form.py.
其中两个字段来自Model.py,一个字段来自form.py. But somehow when i add these fields to admin.site.register function, an error pops up saying 'userlist' is not recognizable.
但不知何故,当我将这些字段添加到admin.site.register函数时,会弹出一个错误,提示'userlist'无法识别。 Below is my code :
以下是我的代码:
Models.py Models.py
class About(models.Model):
about_author = models.TextField()
pic = models.FileField(upload_to = '', default = 'static/defaul.jpg')
Form.py Form.py
class PostAuthorDetails(forms.ModelForm):
def __init__(self,*args,**kwargs):
super(PostAuthorDetails,self).__init__(*args,**kwargs)
self.fields['userlist'] = forms.ModelChoiceField(queryset=User.objects.all())
class Meta:
model = About
fields = '__all__'
Admin.py Admin.py
class PostAuthorDetailsAdmin(admin.ModelAdmin):
form = PostAuthorDetails
def get_fieldsets(self,*args,**kwargs):
return((None,{'fields':('about_author','pic','userlist'),}),)
admin.site.register(About,PostAuthorDetailsAdmin)
Please advise whats wrong with the code. 请告知代码有什么问题。
FormFields are class members. FormFields是类成员。 You can not declare FormFields during the initialisation of the Form.
在初始化表单期间,您不能声明FormFields。
class PostAuthorDetails(forms.ModelForm):
userlist = forms.ModelChoiceField(queryset=User.objects.all())
class Meta:
model = About
'__all__'
See the docs about ModelForms: https://docs.djangoproject.com/en/1.10/topics/forms/modelforms/ 请参阅有关ModelForms的文档: https ://docs.djangoproject.com/en/1.10/topics/forms/modelforms/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.