Djangoのカスタムユーザーモデルについて学習中です。
ユーザー追加時にsaveメソッドを上書きし、ユーザー自身のIDを参照した作業(hashidsによるハッシュ文字列の生成)をさせようとしています。
saveメソッド内で単にself.idを参照してもNoneTypeになってしまったため試行錯誤した結果、super().save()を2回呼び出すことで目的の動作は達成できました。
しかしながら、同一のsuper().save()の呼び出しを行うことは適切な記述だとは思えないので、本来であればどういう記述でオーバーライドをするべきかアドバイスいただけませんでしょうか。
基礎的な話で申し訳ありませんが、よろしくお願いいたします。
python
1class CustomUser(models.Model): 2... 3 def save(self, *args, **kwargs): 4 super(User, self).save(*args, **kwargs) # この行と 5 hashids = Hashids() 6 self.hashid = hashids.encode(self.id) 7 super(User, self).save(*args, **kwargs) # この行が重複している
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/15 13:19