J'ai un modèle qui ressemble à ceciValeur par défaut aléatoire/non constante pour le champ du modèle?
class SecretKey(Model):
user = ForeignKey('User', related_name='secret_keys')
created = DateTimeField(auto_now_add=True)
updated = DateTimeField(auto_now=True)
key = CharField(max_length=16, default=randstr(length=16))
purpose = PositiveIntegerField(choices=SecretKeyPurposes)
expiry_date = DateTimeField(default=datetime.datetime.now()+datetime.timedelta(days=7), null=True, blank=True)
Vous remarquerez que la valeur par défaut pour key
est une chaîne aléatoire de 16 caractères. Le problème est, je pense que cette valeur est mise en cache et utilisée plusieurs fois de suite. Est-il possible que je puisse obtenir une chaîne différente à chaque fois? (Je ne me soucie pas de l'unicité/des collisions)
Vous devez également appliquer la réponse de Daniel à 'expiry_date'. Vous n'obtiendrez pas le résultat souhaité avec le code actuel. –
@ [iquadrat: Oui ... j'ai remarqué ça aussi. Merci. – mpen