django OneToOneField的双向自动模型创建

时间:2013-07-10 18:44:13

标签: python django one-to-one

假设我有以下类使用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信号以单向方式实现此功能,但两种方式都很难做到(为User和UserProfile注册post_save似乎是一个坏主意)

有人做过这样的事吗?非常感谢任何帮助

使用自定义用户模型(遗憾的是)不是一个选项,因为我使用的其他应用程序不支持它。

0 个答案:

没有答案