Django:自定义modelchoicefield中的自定义小部件

Django:自定义modelchoicefield中的自定义小部件,django,django-forms,django-templates,Django,Django Forms,Django Templates,我使用自定义Modelchoicefield类来获取用户组的一部分的全名,而不是用户名: class UserModelChoiceField(forms.ModelChoiceField): def label_from_instance(self, obj): return "%s" % (obj.get_full_name()) 在表单中,我在为“class Meta”中的其他字段定义小部件之前调用该类: 有没有办法将小部件添加到“导师”字段?我想将“class=

我使用自定义Modelchoicefield类来获取用户组的一部分的全名,而不是用户名:

class UserModelChoiceField(forms.ModelChoiceField):
    def label_from_instance(self, obj):
        return "%s" % (obj.get_full_name())
在表单中,我在为“class Meta”中的其他字段定义小部件之前调用该类:

有没有办法将小部件添加到“导师”字段?我想将“class='form-control'”添加到HTML输出中

谢谢, 托比

我想这样可以:

tutor = UserModelChoiceField(
    User.objects.filter(groups__name='teachers')
    widget=Select(attrs={'class': 'form-control'})
)

尽管在更多的地方使用Bootstrap,但是你应该考虑脆形或类似的库。

< P>我想这样做:

tutor = UserModelChoiceField(
    User.objects.filter(groups__name='teachers')
    widget=Select(attrs={'class': 'form-control'})
)

虽然你要在更多的地方使用引导程序,但是你应该考虑一下脆形或类似的库。

谢谢-我自己也能想到,但是不知怎么的,我的脑子被挡住了。这个解决方案确实有效(不过在两行之间加一个逗号)。谢谢——我自己可能会想到,但不知怎么的,我的大脑被阻塞了。此解决方案确实有效(不过在行之间添加逗号)。