gpt4 book ai didi

python - Django 模型的额外参数

转载 作者:太空宇宙 更新时间:2023-11-04 07:13:00 25 4
gpt4 key购买 nike

使用 Django 模型,我想实现这个:

class Foo(models.Model):
name = models.CharField(max_length=50)

#wrapping the save function, including extra tasks
def save(self, *args, **kwargs):
super(Foo, self).save(*args, **kwargs)

if extra_param:
...do task 1
else:
...do task 2

在装箱 Foo 时我想通过

Foo(name="Bill Gates",extra_param=True).save() # now triggers the task 1
Foo(name="Bill Gates").save() # now triggers the task 2

如何做到这一点?我也愿意接受任何其他建议:)

谢谢

最佳答案

您可以在模型中定义非持久字段。

class Foo(models.Model):
name = models.CharField(max_length=50)
extra_param = False

def save(self, *args, **kwargs):
...
print self.extra_param

或者,您可以:

Foo(name="Bill Gates").save(extra_param=True)

def save(self, *args, **kwargs):
...
print kwargs["extra_param"]

关于python - Django 模型的额外参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2344994/

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