Django - ORM - поле даты и времени различных форматов - PullRequest
0 голосов
/ 10 июля 2019

Я сейчас работаю над приложением Django, где каждый DateTimeField должен иметь точно такой же формат ... для начала, это моя абстрактная модель:

from django.db import models

class AbstractModel(models.Model):

    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

    class Meta:
        abstract = True

Оба поля созданы и обновлены имеют одинаковый формат, например:

2019-01-01 12:12:12.123456+00 # right

НО: когда я добавляю какой-либо другой DateTimeField к любой модели, например:

some_other_field = models.DateTimeField()

и сохраните его через django-admin , он получит этот формат в базе данных:

2019-01-01 12:12:12+00 # wrong

ПОЧЕМУ ?! Прямо сейчас у меня есть два разных формата DateTimeField в моей базе данных, что концептуально очень плохо ..

Кто-нибудь может мне помочь? Я просто хочу один формат (верхний) в каждом поле даты и времени ..

Настройки:

LANGUAGE_CODE = 'en-US'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

1 Ответ

0 голосов
/ 10 июля 2019

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

some_other_field = models.DateTimeField()

и выберите значение формата по умолчанию, например создано или обновлено поле:

[
    '%Y-%m-%d %H:%M:%S',     # '2006-10-25 14:30:59'
    '%Y-%m-%d %H:%M:%S.%f',  # '2006-10-25 14:30:59.000200'
    '%Y-%m-%d %H:%M',        # '2006-10-25 14:30'
    '%Y-%m-%d',              # '2006-10-25'
    '%m/%d/%Y %H:%M:%S',     # '10/25/2006 14:30:59'
    '%m/%d/%Y %H:%M:%S.%f',  # '10/25/2006 14:30:59.000200'
    '%m/%d/%Y %H:%M',        # '10/25/2006 14:30'
    '%m/%d/%Y',              # '10/25/2006'
    '%m/%d/%y %H:%M:%S',     # '10/25/06 14:30:59'
    '%m/%d/%y %H:%M:%S.%f',  # '10/25/06 14:30:59.000200'
    '%m/%d/%y %H:%M',        # '10/25/06 14:30'
    '%m/%d/%y',              # '10/25/06'
]

Список форматов, которые будут приниматься при вводе данных в поле даты и времени. Вы можете прочитать больше django datetime format document .

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