1

我需要在我的应用程序中创建自定义用户。

文档中给出的示例中

class CustomUser(models.Model):
    user = models.OneToOneField(User)
    #custom fields

在创建 CustomUser 之前,用户必须存在。

我想要做的是在创建自定义用户时自动创建用户。

在 CustomUser 管理员(仅由超级用户可见)中,我希望只有自定义字段和 User 模型中的一些字段,以及允许超级用户更改现有实例密码的某种形式。

有人可以帮忙吗?

4

1 回答 1

3

你问题的第一部分很简单,你可以使用一个信号:

def create_custom_user(sender, instance, created, **kwargs):
    if created:
        custom_user, created = CustomUser.objects.get_or_create(user=instance)

post_save.connect(create_custom_user, sender=User)

至于第二部分,管理员中已经有一个更改密码表单。要过滤掉显示的字段,您可以创建一个 CustomUserAdmin 并将其与模型一起注册。在 django 文档中非常自我​​解释。

django 文档:list_display

于 2012-06-05T12:45:33.830 回答