Django-OneToOneField的双向自动建模

2024-09-29 04:23:38 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我的问题是:

  • 我希望在创建用户时创建UserProfile
  • 反之亦然:当创建UserProfile时,我希望自动添加一个新的(django)用户(在这种情况下,用户名是自动生成的)
  • 另外,我想同步3个字段从标准用户类与我的模型(电子邮件,名字和姓氏),所以更新也是问题的一部分。在

我已经成功地使用post_save信号以一种单向的方式实现了这一点,但两种方式都很难实现(为User和UserProfile注册post_save似乎是个坏主意)

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

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


Tags: django用户模型modelmodelssave方式post