Se você quer apenas tempo, TimeField é o que você precisa:
class ConversationHistory(models.Model): contact_date = models.DateField(_(u"Conversation Date"), blank=True) contact_time = models.TimeField(_(u"Conversation Time"), blank=True)
Você pode aproveitar a opção auto_now_add
:
class TimeField([auto_now=False, auto_now_add=False, **options])
Uma hora, representada em Python por uma instância datetime.time. Aceita as mesmas opções de preenchimento automático que DateField.
Se você usar o auto_now_add
, ele definirá automaticamente o campo como agora quando o objeto for criado pela primeira vez.
classe ConversationHistory(models.Model): contact_date = models.DateField(_(u"Conversation Date"), auto_now_add=Verdadeiro, blank=Verdadeiro) contact_time = models.TimeField(_(u"Conversação Hora"), auto_now_add=Verdadeiro, blank=Verdadeiro)
TimeField é um campo de tempo que armazena o tempo, representado em Python por uma instância datetime.time. Como o nome sugere, este campo é usado para armazenar um objeto datetime criado em python. O widget de formulário padrão para este campo é um TextInput. O administrador usa dois widgets TextInput separados com atalhos JavaScript. Sintaxe
field_name = models.TimeField(auto_now=False, auto_now_add=False, **options) TimeField tem os seguintes argumentos opcionais extras ‚Äì TimeField.auto_nowDefinir automaticamente o campo para agora toda vez que o objeto é salvo. Útil para carimbos de data/hora da "última modificação". Observe que a hora atual é sempre usada; não é apenas um valor padrão que você pode substituir. O campo só é atualizado automaticamente ao chamar Model.save(). O campo não é atualizado ao fazer atualizações em outros campos de outras maneiras, como QuerySet.update(), embora você possa especificar um valor personalizado para o campo em uma atualização como essa.
TimeField.auto_now_add
Defina automaticamente o campo para agora quando o objeto é criado primeiro. Útil para a criação de carimbos de data/hora. Observe que a hora atual é sempre usada; não é apenas um valor padrão que você pode substituir. Portanto, mesmo que você defina um valor para este campo ao criar o objeto, ele será ignorado. Se você quiser modificar este campo, defina o seguinte em vez de auto_now_add=True:- Para TimeField: default=datetime.time.now ‚Äì from datetime.now()
- Para TimeField: default=timezone.now – from django.utils.timezone.now()
Opções de campo
Parâmetros de campo são argumentos dados a cada campo para aplicar algum tipo de restrição ou passar uma característica específica para um campo específico. Por exemplo, adicionar o argumento null = True
ao TimeField permitirá que ele armazene valores vazios ‚Äã‚Äãpara essa tabela em um banco de dados relacional.
Aqui estão os parâmetros e atributos de campo que o TimeField pode use.
Opções de campo | Descrição |
---|---|
Null | Se True >, o Django armazenará valores vazios ‚Äã‚Äãas NULL no banco de dados. O padrão é Falso. |
Em branco | Se Verdadeiro , o campo pode ficar em branco ... O padrão é False. |
Opções | Um iterável (por exemplo, uma lista ou tupla) de 2 tuplas para usar como opções para este campo. |
Padrão | O valor padrão para o campo. Isso pode ser um valor ou um objeto que pode ser chamado. Se puder ser chamado, ele será chamado toda vez que um novo objeto for criado. |
help_text | Texto extra de "ajuda‚" a ser exibido com o widget de formulário. É útil para documentação, mesmo que seu campo não seja usado em um form. |
primary_key | Se True, este campo é a chave primária para o modelo . |
Exclusivo | Se True, este campo deve ser exclusivo em toda a tabela. |