【发布时间】:2015-12-07 07:14:36
【问题描述】:
这是我想做的:
def createNewsletterHash():
hash = hashlib.sha256()
hash.update(str(time.time()))
hash.update(emailValueOfThisModel) # HOW TO DO THIS?
return hash.hexdigest()
class NewsletterSubscriber(models.Model):
email = models.EmailField(max_length=70, unique=True)
hash = models.CharField(default=createNewsletterHash, unique=True)
我假设在创建对象时不可能获取其他字段的值。但是有没有一种更简洁的方法来执行此操作,然后在对象创建后设置哈希值或在创建时显式设置,例如:
NewsletterSubscriber.objects.create(email='email@email.com', hash=createNewsletterHash('email@email.com'))
并且不使用哈希字段的默认参数?
【问题讨论】:
标签: python django django-models