Если вам нужно только время, используйте TimeField. вам нужно:
класс История беседы(models.Model): contact_date = models.DateField(_(u"Дата беседы"), пусто=True) contact_time = models.TimeField(_(u"Время разговора"), Blank=True)
Вы можете воспользоваться опцией auto_now_add
:
class TimeField([auto_now=False, auto_now_add=False, **options])
Время, представленное в Python экземпляром datetime.time. Принимает те же параметры автозаполнения, что и DateField.
Если вы используете auto_now_add
, он автоматически установит для поля значение now при первом создании объекта.
класс История разговоров(models.Model): contact_date = models.DateField(_(u"Дата разговора"), auto_now_add=True, Blank=True) contact_time = models.TimeField(_(u"Разговор Время"), auto_now_add=True, Blank=True)
TimeField — это поле времени, в котором хранится время, представленное в Python экземпляром datetime.time. Как следует из названия, это поле используется для хранения объекта datetime, созданного в python. Виджет формы по умолчанию для этого поля — TextInput. Администратор использует два отдельных виджета TextInput с ярлыками JavaScript. Синтаксис
field_name = models.TimeField(auto_now=False, auto_now_add=False, **options) TimeField имеет следующие дополнительные необязательные аргументы — TimeField.auto_nowАвтоматически устанавливает для поля значение теперь каждый раз, когда объект сохраняется. Полезно для временных меток «последнее изменение». Обратите внимание, что всегда используется текущее время; это не просто значение по умолчанию, которое вы можете переопределить. Поле автоматически обновляется только при вызове Model.save(). Поле не обновляется при обновлении других полей другими способами, такими как QuerySet.update(), хотя вы можете указать пользовательское значение для поля в таком обновлении.
TimeField.auto_now_add
Автоматически установить для поля значение сейчас объект создается первым. Полезно для создания временных меток. Обратите внимание, что всегда используется текущее время; это не просто значение по умолчанию, которое вы можете переопределить. Поэтому, даже если вы установите значение для этого поля при создании объекта, оно будет игнорируется. Если вы хотите иметь возможность изменять это поле, установите вместо auto_now_add=True следующее:- Для TimeField: default=datetime.time.now — из datetime.now()
- Для TimeField: default=timezone.now — из django.utils.timezone.now()
Параметры поля
Параметры поля — это аргументы, данные каждому полю, чтобы применить какое-то ограничение или передать определенную характеристику определенному полю. Например, добавление аргумента null = True
к TimeField позволит ему хранить пустые значения для этой таблицы в реляционной базе данных.
Вот параметры поля и атрибуты, которые может использовать TimeField использовать.
Параметры поля | Описание |
---|---|
NULL | If True , Django будет хранить пустые значения ‚Äã‚Äã как NULL в базе данных. По умолчанию используется False. |
Пусто | Если True , поле может быть пустым ... Значение по умолчанию False. |
Варианты | Повторяемый объект (например, список или кортеж) из двух кортежей для использования в качестве вариантов для этого поля. |
По умолчанию | Значение по умолчанию для поля. Это может быть значение или вызываемый объект. Если он вызывается, он будет вызываться каждый раз при создании нового объекта. |
help_text | Дополнительный текст справки, который будет отображаться с виджетом формы. Это полезно для документации, даже если ваше поле не используется в form. |
primary_key | Если установлено значение True, это поле является первичным ключом для модели. |
Уникальный | Если выбрано значение True, это поле должно быть уникальным во всей таблице. |