2

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

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 似乎是个坏主意)

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

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

4

0 回答 0