我有People
应用程序。我有具有username
字段的Person
型号。当我添加一个人并且该人还没有帐户时,我单击username
字段旁边的Little Plus符号,并向我提供了新的用户表格。
没关系。
现在,我想以这种方式创建用户:用户名应该是约翰·史密斯(John Smith)具有用户名john.smith
的{firstname}.{lastname}[.{serial}]
FO的形式,另一个John Smith将是john.smith.1
。
如何将一个名称和最后一个名称传递给新用户表格?另外:如何检查其他用户名是否有其他用户并将序列号附加到其中?
谢谢
如果在"人"表单上输入了第一个和姓氏(但尚未提交),并且您希望这些值在新的用户表单视图中显示,那么您将必须:
a)使用javascript抓住名字和姓氏时,当用户命中该添加按钮(" plus"按钮"),然后
b)将这些值传递到动态创建{firstName}的自定义视图中。{lastName}。[serial],然后
c)将该值分配给Form.Fields ['username']。初始
当用户看到下一张表单时,他们将具有您预先填充的值。此逻辑可能应该以自定义表单方法进行(以管理用户名为准)。
此策略提出了您必须解决的其他问题:
1)如果用户在提交之前更改原始人员表格中的名字和姓氏怎么办?(下面的#2可能会解决此问题)
2)每次更改名字或姓氏时,您都必须在其他模型上更新用户名
其他要考虑的事情:
您可以使用自定义用户模型(文档,教程)来执行此操作,并将这些名称和姓氏放在同一模型中,这可以消除自定义视图创建,允许您在一个页面中动态创建用户名,然后使它们更容易同步。