Django auto_now字段未随使用筛选器()更新而更新

Django auto_now字段未随使用筛选器()更新而更新,django,django-models,Django,Django Models,我正在使用Django 2.0 我有一个这样的模特 class MyModel(models.Model): update_new = models.CharField(blank=True, max_length=200) modified = models.DateTimeField(auto_now=True) created = models.DateTimeField(auto_now_add=True) 并使用模型管理器更新模型数据 class MyMode

我正在使用Django 2.0

我有一个这样的模特

class MyModel(models.Model):
    update_new = models.CharField(blank=True, max_length=200)
    modified = models.DateTimeField(auto_now=True)
    created = models.DateTimeField(auto_now_add=True)
并使用模型管理器更新模型数据

class MyModelManager(models.Manager):
    def get_queryset(self):
        return MyModelQueryset(self.model, self._db)

    def update_or_create(self, pk, **save_data):

        record = MyModel.objects.filter(
            pk=pk
        )

        if record.exists():

            # setting field manually for testing
            save_data['update_new'] = 'anuj'

            uc = record.update(**save_data)
            print(uc) # prints 1

            return record.first(), True

        record, created = self.get_queryset().get_or_create(
            pk=pk
            **save_data
        )

        return record, created

这可以很好地工作,并且会更新值。但是,修改的字段不会更新。创建的和修改的字段中的值保持不变(创建记录时的时间戳)

中描述的此行为:

该字段仅在调用Model.save()时自动更新。这个 在以其他方式更新其他字段时,不会更新字段 例如QuerySet.update(),但您可以为其指定自定义值 这样的更新中的字段


此行为在以下内容中描述:

该字段仅在调用Model.save()时自动更新。这个 在以其他方式更新其他字段时,不会更新字段 例如QuerySet.update(),但您可以为其指定自定义值 这样的更新中的字段


我想知道他们为什么选择那样做。。似乎是一个bug而不是一个特性。我想知道他们为什么选择这样做。。似乎是一个bug而不是一个特性。