【发布时间】:2019-07-19 18:30:17
【问题描述】:
我有一个 django 模型 A,这个模型在 django admin 上注册,管理员用户可以从那里添加/编辑数据。
#models.py
class A(models.Model):
eth_address = models.CharField( max_length=100)
private_key = encrypt(max_length=100))
现在我想要这样,一旦将数据添加到数据库,在编辑或查看时,我不希望 private_key 字段在 UI 上可见。
我尝试在管理员中使用以下 sn-p :
#admin.py
...
def get_form(self, request, obj=None, **kwargs):
self.exclude = ("private_key", )
form = super(AAdmin, self).get_form(request, obj, **kwargs)
return form
...
但是,如果我在编辑视图中打开模型并点击保存,它会将数据库中的 private_key 替换为 NULL,这意味着该值不是从前端传递的,这是真的,因为我们排除了该字段,但是在保存时它的值被覆盖为 NULL,知道如何解决这个问题吗?
【问题讨论】:
-
尝试在
admin.py中添加list_display=['eth_address'] -
我不想在列表中显示它
标签: django python-3.x django-models django-admin