关于 save(update_fields) 方法细微差别的问题,Django
question about save(update_fields) method nuances , Django
快速提问。无法在文档中找到它,或者有矛盾的信息。
方法:
save(update_fields = somefields)
工作原理与方法相同:
SomeModel.objects.update(somefields here)
就这两种方法而言,这两种方法都适用于数据库级别,而不会在模型中触发 SAVE 方法?
UPDATE 在数据库级别上工作,很清楚
保存呢(update_fields = somefields)???
谢谢你,很抱歉提出了相当抽象的问题
def delete(self, using=None, keep_parents=False):
self.show = False
self.change_date = datetime.datetime.now()
self.save(update_fields=["show", "change_date"]) # will it trigger save() method in the model or not???
虽然使用 save(update_fields=[.....]) 在数据库级别强制更新查询,但它比 update() 方法慢,因为额外调用 super.save() 是在那之前制作的。
super.save(*args, **kwargs)
不要使用带有 update_fields 的保存,而是尝试使用类似的东西。
YourModel.objects.filter(pk=self.pk).update(show=False, change_date=datetime.datetime.now())
快速提问。无法在文档中找到它,或者有矛盾的信息。
方法:
save(update_fields = somefields)
工作原理与方法相同:
SomeModel.objects.update(somefields here)
就这两种方法而言,这两种方法都适用于数据库级别,而不会在模型中触发 SAVE 方法?
UPDATE 在数据库级别上工作,很清楚
保存呢(update_fields = somefields)???
谢谢你,很抱歉提出了相当抽象的问题
def delete(self, using=None, keep_parents=False):
self.show = False
self.change_date = datetime.datetime.now()
self.save(update_fields=["show", "change_date"]) # will it trigger save() method in the model or not???
虽然使用 save(update_fields=[.....]) 在数据库级别强制更新查询,但它比 update() 方法慢,因为额外调用 super.save() 是在那之前制作的。
super.save(*args, **kwargs)
不要使用带有 update_fields 的保存,而是尝试使用类似的东西。
YourModel.objects.filter(pk=self.pk).update(show=False, change_date=datetime.datetime.now())