Python Django 使用同一模型中的另一个字段填充模型中的字段

我有一个用户模型。我想要的是当用户注册时,松弛字段中填充了来自使用用户电子邮件作为参数的函数的数据。(基本上 slack 应该是从电子邮件生成的类似“DS8ds9D”的东西。


我有执行“get_slack(email)”的功能,我知道如果使用电子邮件在模型外部运行它会起作用。我得到的错误是当我尝试“makemigrations”时说来自“get_slack(email)”的电子邮件为空。


class User(AbstractBaseUser, PermissionsMixin):


    email = models.EmailField(unique=True)

    is_staff = models.BooleanField(default=False)

    is_active = models.BooleanField(default=True)

    date_joined = models.DateTimeField(default=timezone.now)


    first_name = models.CharField(max_length=255)

    last_name = models.CharField(max_length=255)

    slack = models.CharField(max_length=255, default=get_slack(email))

我认为很清楚我要建立什么,但是我使用“默认”的方法可能不合适。有什么建议么?谢谢。


Cats萌萌
浏览 102回答 1
1回答

鸿蒙传说

如果你想在用户注册时创建松弛字段,你应该覆盖默认的保存方法。class User(AbstractBaseUser, PermissionsMixin):    # ...     def save(self, *args, **kwargs):         self.slack = self.image    # do whatever processing you want         super(User, self).save(*args, **kwargs)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python