Как запретить save () обновлять созданную временную метку - PullRequest
0 голосов
/ 31 октября 2019

В моем приложении django есть таблица с полем datetime date_created, для которого по умолчанию установлено значение CURRENT_TIMESTAMP. База данных MySQL. Моя модель

class HybImages(models.Model):
    HIGH = 6
    INFORMATIVE = 5
    AVERAGE = 4
    LOW = 3
    QUALITY = (
        ('HI', 'High'),
        ('LO', 'Low'),
        ('AV', 'Average'),
        ('CH', 'Challenged'),
        ('TP', 'Top'),
    )
    pid = models.ForeignKey(Hybrid, db_column='pid', verbose_name='grex', null=True, blank=True,on_delete=models.DO_NOTHING)
    form = models.CharField(max_length=50, null=True, blank=True)
    name = models.CharField(max_length=100, null=True, blank=True)
    rank = models.IntegerField(choices=RANK_CHOICES,default=5)
    zoom = models.IntegerField(default=0)
    certainty = models.CharField(max_length=20, null=True, blank=True)
    source_file_name = models.CharField(max_length=100, null=True, blank=True)
    ...
    ...
    date_created = models.DateTimeField(auto_now_add=True, null=True)
    date_modified = models.DateTimeField(auto_now=True, null=True)

Когда я обновляю запись, чтобы изменить определенное поле (скажем, ранг). Я сделал следующее:

>>> from orchiddb.models import HybImages
>>>
>>> id = 39387
>>> image = HybImages.objects.get(pk=id)
>>> image.date_created
datetime.datetime(2019, 5, 24, 15, 28, 29, tzinfo=<UTC>)
>>> image.rank = 1
>>> image.save()
>>> image.date_created
datetime.datetime(2019, 10, 31, 14, 14, 51, 852406, tzinfo=<UTC>)

Почему изменилось значение date_created (и что означает 852406)? Что мне нужно сделать, чтобы сохранить дату без изменений?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...