python - 如何将 django 模型的字段默认值定义为另一个字段值?

标签 python django database django-models default-value

在我的模型中,我有这两个字段:

start_bid = models.IntegerField(default=0)
max_bid =  models.IntegerField(default="the start_bid value")

start_bid 将由用户通过 Django ModelForm 添加一次。并且 max_bid 可能会改变,也可能不会。 因此,我需要“max_bid”的第一个值是用户输入的 start_bid 值,然后如果它发生变化,它将被更新。

简而言之,我需要 max_bid 的初始值等于 start_bid!

有什么建议吗?

最佳答案

解决方案如下:

class Bid(models.Model):
          start_bid = models.IntegerField(default=0)
          max_bid =  models.IntegerField()
          
          def save(self,*args,**kwargs): 
               if not self.max_bid:
                   self.max_bid = self.start_bid   
                
               super(Bid,self).save(*args,**kwargs) #here Bid is my model name. Don't forget to replace Bid with your model name.

关于python - 如何将 django 模型的字段默认值定义为另一个字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71051788/

相关文章:

python - django 要求添加默认值

python - pytest - 抑制来自特定 3rd 方模块的 DeprecationWarning

python - Python 中的桑基图

python - http响应返回的json对象

database - 如何在物理/逻辑上分离集成层和数据仓库,是否有必要?

mysql - 如何将同一表中的总值显示为一行(在 case 语句中)?

python - 如何在 one-hot 编码的 pandas 数据框中找到列的正索引?

Django - 如何迭代和检查模板代码中 ModelChoiceField 的每个选择

python - Django Rest 框架 + JWT

c# - DataGridview 重复数据或不将新行保存到数据库