我搜索过类似的话题,但没有找到我需要的。。
我使用UserAttributes模型扩展了用户模型,添加了一些额外的字段等等。。现在我试着把这个做成模型。。所以我这里有点小问题。。
我想将组列为ChoiceField而不是MultipleChoiceField。。这是规范的要求,所以必须如此。
这是密码。。
from django.forms import ModelForm
from django.contrib.auth.models import User
from helpdesk.models.userattributes import *
from django.utils.translation import ugettext as _
class SettingsOperatorsForm(ModelForm):
groups = forms.ChoiceField(
label=_(u'Rights'),
required=True,
choices=["what's in here?"]
)
class Meta:
model = UserAttributes
fields = ('first_name', 'last_name', 'job_title', 'email', 'password', 'is_active', 'groups' )
数据库中有auth_group表,所以我试着这样做,但却显示了一个no表单:
from django.contrib.auth.models import User, Group
groups = forms.ChoiceField(
label=_(u'Rights'),
required=True,
choices=Group.objects.all()
)
我想最好是把多回声场转换成ChoiceField
坦率地说:
应该变成刚才的选择框。
似乎modelchoice是错误的,因为编辑表单中的当前组将不会被选中“selected”
这就是最终的解决方案:
在表单定义时设置选项,就像您在答案中所做的那样,这意味着表单将永远看不到任何已定义的新组。
与其将ChoiceField与列表理解一起用于选项,不如将ModelChoiceField与queryset参数一起使用:
只是一个反馈,因为2小时没有答案,所以请转到freenode(django=)
http://docs.djangoproject.com/en/dev/topics/forms/modelforms/
可以为元类中的任何字段重写小部件,如下所示:
不起作用
forms.ChoiceField()也是。。什么都没变。。仍显示多选择选择。。
更新
这很管用。。没关系,但是,为什么地狱小部件覆盖不起作用????
已解决 因为我有django 1.1=(我的愚蠢。。
相关问题 更多 >
编程相关推荐