我在模型中使用UserProfile方法来扩展用户。
如果我想让用户获得一个标题,即'Mr'和一个中间的首字母'A',那么标准的实践是什么?
目前,在其原始格式中,我输入名字和姓氏,然后向下滚动以选择标题并输入任何首字母。
是否可以组合用户和用户配置文件?
TIA
答案 0 :(得分: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
您也可以在管理员中使用此表单。