gpt4 book ai didi

python - 是否可以通过 django 管理面板动态添加新字段

转载 作者:太空宇宙 更新时间:2023-11-03 18:36:13 39 4
gpt4 key购买 nike

我还是 django 的新手。我用过 django 管理员。现在我想做两件事。

1.我需要一个模型文件,它将存储为原始数据的哈希值(类似于密码,但我想分配自己的加密类型,并且在键入时应显示原始数据)。

2.管理员用户可以通过名为“添加另一个字段”的链接添加另一个字段。

对于上述两个问题,我需要知道保存按钮如何工作(假设添加用户页面或模型添加新行页面)以及该页面文件位于哪里?那我该如何自定义该页面功能呢?我知道并使用自定义模板(.html)页面。

我发现了很多与此相关的问题,但对于像我这样的新手来说,理解起来很复杂。我阅读了 django 文档来自定义密码,但不知道在哪里应用。

我有一个像这个 model.py 的模型(显示在管理站点中)

class departments(models.Model):
priority = models.TextField('prioriy')
department = models.TextField('Department')
emp = models.IntegerField('Emp_id')
empname = models.TextField('EmpName')
def __unicode__(self):
return department

我希望 emp 字段进行哈希加密,并且管理员用户可以添加更多字段。如果可能,请简要描述。这里有更多详细信息..

首先,我想要一个自定义保存选项,用于将原始值作为哈希数据插入。就像我有一个字段“emp”,当管理员用户在该字段中输入原始数据时,它应该在模型中存储哈希加密而不是直接行数据。(受到密码样式的启发)。

其次,之后我可以认为需要额外的新领域,例如想要添加

emp_father_name = models.TextField('Emp_father_Name')

我可以想,我必须使用 ModelAdmin,但是如何使用以及在哪里使用。是不是类似于使用自定义模板。

希望现在我能够表达出来。提前致谢。

最佳答案

您可以重写模型中的保存方法,如下所示以对字段进行哈希处理。

class departments(models.Model):
priority = models.TextField('prioriy')
department = models.TextField('Department')
emp = models.IntegerField('Emp_id')
empname = models.TextField('EmpName')
def __unicode__(self):
return department

def save(self, force_insert=False, force_update=False, using=None, update_fields=None):
self.emp = ur_hash_func(self.emp)
return models.Model.save(self, force_insert=force_insert, force_update=force_update, using=using, update_fields=update_fields)

这将对您的字段进行哈希处理。

我不明白新的额外字段部分。

关于python - 是否可以通过 django 管理面板动态添加新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21547983/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com