基本的に、カスタムモデルフィールドを介して一部のデータを暗号化するには、ユーザーのパスワードハッシュを使用する必要があります。ここで使用したスニペットを確認してください:DjangoEncryption。
私はこれを試しました:
クラスMyClass(models.Model): 所有者=models.ForeignKey(User) product_id = EncryptedCharField(max_length = 255、user_field = owner) .................................................。 ..............................。 def formfield(self、** kwargs): デフォルト={'max_length':self.max_length、'user_field':self.user_field} defaults.update(kwargs) super(EncryptedCharField、self).formfield(** defaults))を返します
しかし、user_fieldを使おうとすると、ForeignKeyインスタンスが取得されます(もちろん!):
user_field = kwargs.get('user_field') 暗号=user_field.password[:32]
どんな助けでも大歓迎です!