【发布时间】:2012-03-11 05:52:10
【问题描述】:
我在我的模型中使用 UserProfile 方法来扩展用户。
如果我想给用户一个头衔,即“先生”和一个中间名首字母“A”,这个标准的做法是什么?
目前以原始格式输入名字和姓氏,然后向下滚动以选择标题并输入任何首字母。
是否可以合并用户和用户资料字段?
TIA
【问题讨论】:
标签: django django-admin
我在我的模型中使用 UserProfile 方法来扩展用户。
如果我想给用户一个头衔,即“先生”和一个中间名首字母“A”,这个标准的做法是什么?
目前以原始格式输入名字和姓氏,然后向下滚动以选择标题并输入任何首字母。
是否可以合并用户和用户资料字段?
TIA
【问题讨论】:
标签: django django-admin
您可以使用以下内容创建自定义 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
您也可以在管理员中使用此表单。
【讨论】: