如何使用连接的其他字段 Django 自动填充字段

How to autofill a field with concatenated other fields Django

第一次在这里提问,如有不完善请见谅

我正在使用 django 开发最新版本。

我想在提交表单时自动生成一个字段(KEY(将在 dialogflow 中使用))值,并将其他字段串联为

KEY =  'SENT_' + search_categories + '_' + '001'

我希望“001”也能自动递增。

我无法显示更多代码,因为我不确定这是合法的,因为我在一家私人公司工作,但我认为我可以在我的 django 模型中显示密钥声明。

key = models.CharField(max_length=30, blank=False, null=False, unique=True)

希望大家帮帮我!

非常感谢!

您可以在模型的 save 函数中生成密钥:

class Model(models.model):
    key = models.CharField(max_length=30, blank=False, null=False, unique=True)
    # other attributes...

    def save(self, *args, **kwargs):
        # Only generate key on creating if it was not provided
        if not self.id and not self.key:
            # Get your counter and increment it
            counter = 0
            counter += 1
            # Get search_categories (I don't know what it is)
            search_categories = '?'
            # Use f-string to concatenate the key and add zero pad on the counter
            self.key = f'SENT_{search_categories}_{counter:03}'
        super().save(*args, **kwargs)