刷新Django Admin表单后生成一个唯一键

时间:2017-03-12 12:57:16

标签: django django-admin

我使用Django Admin功能向模型添加随机生成的密码。 但是,刷新管理员的表单页面或点击"保存并添加另一个"这个随机密码不会改变。

如何强制Django重新生成一个新密码?

def generate_rand():
    random_bytes = urandom(64)
    return b64encode(random_bytes).decode('utf-8')

class SubClient(models.Model):
    client = models.ForeignKey(Client, models.SET_NULL, blank=True, null=True,
                           verbose_name=_('Organization name'),)
    name = models.CharField(max_length=150,
                        verbose_name=_('End-Client name'),)

    db_password = models.CharField(max_length=255, default=generate_rand())

1 个答案:

答案 0 :(得分:1)

Pass a callable object, not the result of the function

db_password = models.CharField(max_length=255, default=generate_rand)

Django documentation for default