2012-02-20 72 views
0

我在我的模型中使用UserProfile方法来扩展用户。Django UserProfile扩展

如果我想允许用户使用一个标题,即'先生'和中间首字母'A',那么标准实践是什么?

目前在其原始格式中,我输入名字和姓氏,然后向下滚动选择标题并输入任何首字母。

是否可以结合用户和userprofile字段?

TIA

回答

1

您可以创建类似的东西自定义的ModelForm:

class ProfileForm(forms.ModelForm): 
    def __init__(self, *args, **kwargs): 
     super(ProfileForm, self).__init__(*args, **kwargs) 
     self.fields.keyOrder = ['title', 'first_name', 'middle_name', 'all other fields'] 

如果你不想列出所有领域,你可以用keyOrder不甘示弱,它只是一个列表:

correct_order = ['title', 'first_name', 'middle_name'] 
other_fields = filter(lambda f: f not in correct_order, self.fields.keyOrder) 
self.fields.keyOrder = correct_order + other_fields 

您也可以在管理员中使用此表单。