簡體   English   中英

Python Django 使用同一 model 中的另一個字段填充 model 中的字段

[英]Python Django populate field in a model using another field in the same model

我有一個用戶 model。 我想要的是當用戶注冊時,slack 字段填充了來自 function 的數據,它使用用戶 email 作為參數。 (基本上 slack 應該類似於從 email 生成的“DS8ds9D”。

我有 function 執行“get_slack(email)”,我知道如果在 model 之外運行,則使用 email。 我得到的錯誤是當我嘗試“makemigrations”時說“get_slack(email)”中的 email 是 null。

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))

我認為很清楚我要建立什么,但是我使用“默認”的方法可能不合適。 有什么建議么? 謝謝。

如果要在用戶注冊時創建 slack 字段,則應覆蓋默認保存方法。

class User(AbstractBaseUser, PermissionsMixin):
    # ...

    def save(self, *args, **kwargs):
        self.slack = self.image    # do whatever processing you want
        super(User, self).save(*args, **kwargs)

參考文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM