假设我有以下类使用OneToOneField扩展内置的django User类:

class UserProfile(models.Model):
    django_user = models.OneToOneField(User, unique=True)
    extra1 = models.CharField()
    extra1 = models.CharField()
       ...

我的问题是:

  • 我想在创建用户时创建UserProfile

  • 反之亦然:当创建UserProfile时,我想自动添加一个新的(django)用户(在这种情况下,用户名是自动生成的)

  • 此外,我想将标准User类中的3个字段与我的模型(email,first_name和last_name)同步,因此更新也是问题的一部分 .

我已成功使用post_save信号以 one-way 方式实现此功能,但两种方式都很难做到(为User和UserProfile注册post_save似乎是一个坏主意)

有没有人做过这样的事情?任何帮助深表感谢

不幸的是,使用自定义用户模型不是一个选项,因为我使用的其他应用程序不支持它 .