gpt4 book ai didi

python - Django 管理表单覆盖默认值

转载 作者:太空宇宙 更新时间:2023-11-03 19:03:20 24 4
gpt4 key购买 nike

我在 django 模型构造函数中设置默认值,如下所示

class Student(models.Model):
name = models.TextField()
location = models.TextField()
def __init__(self, *args, **kwargs):
self.location="sample"
super(Student, self).__init__(*args, **kwargs)

现在我排除了管理表单中的位置字段。但如果在 StudentAdmin 中执行此操作

   def save_model(self, request, obj, form, change):

raise Exception(obj.location)

然后将其提交为空

最佳答案

django 有自己的方式来设置默认值。

class Student(models.Model):
name = models.TextField()
location = models.TextField(default="sample")

编辑1:

由于 django 将再次初始化实例,因此您的值将被覆盖。 更改顺序可能会有所帮助。

def __init__(self, *args, **kwargs):        
super(Student, self).__init__(*args, **kwargs)
self.location="sample"

但是。

Relying on Django's built-in functionality and passing named parameters would be the simplest way to go. Writing a __init__ function to be used in django model

关于python - Django 管理表单覆盖默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15491046/

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