如何将django模型字段值作为参数传递给callable,这是同一模型中字段的默认值?

dsalaj

这是我想做的:

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 protected]', hash=createNewsletterHash('[email protected]'))

而不使用哈希字段的默认参数?

木霉

您可以在创建时使用save模型方法获取其他字段的值

class NewsletterSubscriber(...):
    ...
    hash = models.CharField(blank=True, max_length=150)

    def save(self, *args, **kwargs):
        if not self.pk: # this will ensure that the object is new
            self.hash = createNewsLetterHash(self.email)
        super().save(*args, **kwargs)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Django的子模型字段中使用抽象模型字段值作为默认值?

来自分类Dev

Django ModelField在添加新字段时将默认值添加到基于同一模型中的另一个字段

来自分类Dev

如何基于同一模型中其他字段的值设置Django模型字段值

来自分类Dev

如何将模型字段的默认值设置为与OneToOneField属性值相同?

来自分类Dev

将模型中字段的默认值设置为另一个模型实例

来自分类Dev

Django:模型实例中字段的默认值

来自分类Dev

返回Django模型上的空字段的默认值

来自分类Dev

如何使用数据为现有模型中的新模型字段设置默认值

来自分类Dev

如何将 VPC 的 ID 作为参数传递给 Cluster.template 以设置为默认值?

来自分类Dev

如何将一个模型的字段的值分配给另一模型的字段?

来自分类Dev

如何将模型中的值传递给 Django 中的视图?

来自分类Dev

UUID作为Django模型中的默认值

来自分类Dev

根据Django 1.6中的字段名称迭代提取模型实例的字段值和默认值

来自分类Dev

根据Django 1.6中的字段名称迭代提取模型实例的字段值和默认值

来自分类Dev

如何将模型字段传递给JsonResponse对象

来自分类Dev

如何将当前登录的用户作为默认值传递给表单

来自分类Dev

如何在将哈希作为参数传递给 ruby 方法时设置默认值?

来自分类Dev

如何将默认值传递给altair编码

来自分类Dev

如何将默认值传递给Redux表单

来自分类Dev

如何将参数的默认值从一个函数定义传递给更高的函数定义

来自分类Dev

如何将参数的默认值从一个函数定义传递给更高的函数定义

来自分类Dev

根据模型类中先前对象的值设置模型字段默认值

来自分类Dev

如何使用Waterline ORM在Sails模型中为字段设置默认值?

来自分类Dev

如何在Camel Bindy的模型类中为布尔字段设置默认值

来自分类Dev

在模板中循环模型时,如何将唯一 id 字段从模型传递到 Django 表单?

来自分类Dev

使用模型方法作为Django模型的默认值?

来自分类Dev

如何将View Controller所有文本字段中的值传递给Model类,以使模型逻辑与之分离?

来自分类Dev

Django将默认值保存在代理模型中

来自分类Dev

如何将字段属性值传递给Django表单字段错误消息

Related 相关文章

  1. 1

    如何在Django的子模型字段中使用抽象模型字段值作为默认值?

  2. 2

    Django ModelField在添加新字段时将默认值添加到基于同一模型中的另一个字段

  3. 3

    如何基于同一模型中其他字段的值设置Django模型字段值

  4. 4

    如何将模型字段的默认值设置为与OneToOneField属性值相同?

  5. 5

    将模型中字段的默认值设置为另一个模型实例

  6. 6

    Django:模型实例中字段的默认值

  7. 7

    返回Django模型上的空字段的默认值

  8. 8

    如何使用数据为现有模型中的新模型字段设置默认值

  9. 9

    如何将 VPC 的 ID 作为参数传递给 Cluster.template 以设置为默认值?

  10. 10

    如何将一个模型的字段的值分配给另一模型的字段?

  11. 11

    如何将模型中的值传递给 Django 中的视图?

  12. 12

    UUID作为Django模型中的默认值

  13. 13

    根据Django 1.6中的字段名称迭代提取模型实例的字段值和默认值

  14. 14

    根据Django 1.6中的字段名称迭代提取模型实例的字段值和默认值

  15. 15

    如何将模型字段传递给JsonResponse对象

  16. 16

    如何将当前登录的用户作为默认值传递给表单

  17. 17

    如何在将哈希作为参数传递给 ruby 方法时设置默认值?

  18. 18

    如何将默认值传递给altair编码

  19. 19

    如何将默认值传递给Redux表单

  20. 20

    如何将参数的默认值从一个函数定义传递给更高的函数定义

  21. 21

    如何将参数的默认值从一个函数定义传递给更高的函数定义

  22. 22

    根据模型类中先前对象的值设置模型字段默认值

  23. 23

    如何使用Waterline ORM在Sails模型中为字段设置默认值?

  24. 24

    如何在Camel Bindy的模型类中为布尔字段设置默认值

  25. 25

    在模板中循环模型时,如何将唯一 id 字段从模型传递到 Django 表单?

  26. 26

    使用模型方法作为Django模型的默认值?

  27. 27

    如何将View Controller所有文本字段中的值传递给Model类,以使模型逻辑与之分离?

  28. 28

    Django将默认值保存在代理模型中

  29. 29

    如何将字段属性值传递给Django表单字段错误消息

热门标签

归档