Hel*_*nar 1 python django wrapper django-forms
有了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
Run Code Online (Sandbox Code Playgroud)
虽然装箱Foo我想通过如此
Foo(name="Bill Gates",extra_param=True).save() # now triggers the task 1
Foo(name="Bill Gates").save() # now triggers the task 2
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?我也对任何其他建议开放:)
谢谢
您可以在模型中定义非持久字段.
class Foo(models.Model):
name = models.CharField(max_length=50)
extra_param = False
def save(self, *args, **kwargs):
...
print self.extra_param
Run Code Online (Sandbox Code Playgroud)
或者,你可以这样做:
Foo(name="Bill Gates").save(extra_param=True)
def save(self, *args, **kwargs):
...
print kwargs["extra_param"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2284 次 |
| 最近记录: |