简体   繁体   English

通过两个字段串联创建的Django数据库条目

[英]Django database entry created by concatenation of two fields

I have the following Django model 我有以下Django模型

class Labels(models.Model):
    user = models.CharField(max_length=200)
    label = models.CharField(max_length=200)
    live = models.CharField(max_length=1)
    unique_key = models.CharField(max_length=200)
    def __str__(self):
        return '%s / %s' % (self.user, self.label)

I would like unique_key to be automatically populated with a concatenation of md5(user + label) 我想将md5(user + label)的串联自动填充为unique_key

eg 例如

user = 'James' user ='詹姆斯'

label = 'KDJ' label ='KDJ'

concat = user + label unique_key = print(hashlib.md5(concat.encode()).hexdigest())

Output 输出量

1935636b374a17f87636460e4307f736

You can override save method for this: 您可以为此重写保存方法:

class Labels(models.Model):

    def save(self, *args, **kwargs):
        concat = self.user + self.label
        self.unique_key = hashlib.md5(concat.encode()).hexdigest()
        super().save(*args, **kwargs)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM