假设我有以下Django模型,它覆盖save方法:
class Person(models.Model):
name = models.CharField(max_length=50)
def save(self, lock=False, *args, **kwargs):
if lock:
print("LOCKING OBJECT...")
super().save(*args, **kwargs)
我知道我可以创造一个人
lock
steve = Person(name="Steve")
steve.save(lock=True)
# LOCKING OBJECT...
不过,我真的很喜欢使用
create
方法,因为它更具可读性:
Person.objects.create(name="Michelle")
我怎么能通过
使用后一种方法?以下操作不起作用:
Person.objects.create(name="Michelle", lock=True)
# TypeError: Person() got an unexpected keyword argument 'lock'