编辑时如何在django模型中调用clean方法?

时间:2016-09-25 20:41:40

标签: django

我有一个名为LeaseTerm的模型。我希望每个特定租约不超过1个leaseTerm is_active而不是is_terminated

struct date

为此我写了一个干净的方法,当我创建一个新的租期时,它可以很好地工作。但是,当我执行编辑时,此方法是一个问题,因为它自我计数并且不允许保存。

任何建议我如何克服这个问题?我只是想在编辑时跳过干净的方法。

1 个答案:

答案 0 :(得分:1)

为什么不直接从查询中排除当前的LeaseTerm实例?这样,如果你以后需要对它做一些事情,那么.clean()方法仍然很有用。

只需将.exclude(id=self.id)添加到查询集即可。

model.objects.filter(lease=self.lease, is_active=True ).exclude(id=self.id).count()