TimeField ‚Äî Modèles Django

| | | | | | | | | | | | | | | | | | | | |
classe TimeField (auto_now = False, auto_now_add = False, ** options) Heure, représentée par un objet Python datetime.time. Accepte les mêmes arguments que DateField. Le formulaire utilise un widget TextInput. L`interface d`administration utilise également un peu de JavaScript.

Si vous ne voulez que le temps, TimeField est ce qu`il vous faut vous avez besoin de :

classe ConversationHistory(models.Model): contact_date = models.DateField(_(u"Conversation Date"), blank=Vrai) contact_time = models.TimeField(_(u"Temps de conversation"), blank=True) 

Vous pouvez profiter de l`option auto_now_add :

classe TimeField([auto_now=False, auto_now_add=False, **options])

Une heure, représentée en Python par une instance datetime.time. Accepte les mêmes options de remplissage automatique que DateField.

Si vous utilisez le auto_now_add, il définira automatiquement le champ sur maintenant lors de la première création de l`objet.

classe ConversationHistory(models.Model) : contact_date = models.DateField(_(u"Date de conversation"), auto_now_add=Vrai, blank=Vrai) contact_time = models.TimeField(_(u"Conversation Heure"), auto_now_add=Vrai, blank=Vrai) 
TimeField est un champ d`heure qui stocke l`heure, représenté en Python par une instance datetime.time. Comme son nom l`indique, ce champ est utilisé pour stocker un objet datetime créé en python. Le widget de formulaire par défaut pour ce champ est un TextInput. L`administrateur utilise deux widgets TextInput distincts avec des raccourcis JavaScript.

Syntaxe

field_name = models.TimeField(auto_now=False, auto_now_add=False, **options) TimeField a les arguments facultatifs supplémentaires suivants ‚Äì TimeField.auto_now 
Définir automatiquement le champ sur maintenant chaque fois que l`objet est enregistré. Utile pour les horodatages de "dernière modification". Notez que l`heure actuelle est toujours utilisée ; ce n`est pas seulement une valeur par défaut que vous pouvez remplacer. Le champ n`est automatiquement mis à jour que lors de l`appel de Model.save(). Le champ n`est pas mis à jour lors de la mise à jour d`autres champs par d`autres moyens tels que QuerySet.update(), bien que vous puissiez spécifier une valeur personnalisée pour le champ dans une mise à jour comme celle-ci.

TimeField.auto_now_add

Définissez automatiquement le champ sur maintenant lorsque l`objet est d`abord créé. Utile pour la création d`horodatages. Notez que l`heure actuelle est toujours utilisée ; il ne s`agit pas simplement d`une valeur par défaut que vous pouvez remplacer. Ainsi, même si vous définissez une valeur pour ce champ lors de la création de l`objet, elle sera ignoré. Si vous souhaitez pouvoir modifier ce champ, définissez ce qui suit au lieu de auto_now_add=True :
  • Pour TimeField : default=datetime.time.now ‚Äì from datetime.now()
  • Pour TimeField : default=timezone.now ‚Äì from django.utils.timezone.now()
Remarque : Les options auto_now_add, auto_now, et par défaut s`excluent mutuellement. Toute combinaison de ces options entraînera une erreur.

Options de champ

Les paramètres de champ sont des arguments donnés à chaque champ pour appliquer une sorte de contrainte ou transmettre une caractéristique spécifique à un champ spécifique. Par exemple, l`ajout de l`argument null = True au TimeField lui permettra de stocker des valeurs vides ‚Äã‚Äãpour cette table dans une base de données relationnelle.
Voici les paramètres de champ et les attributs que TimeField peut utiliser.

Options du champ Description
Null Si Vrai , Django stockera les valeurs vides ‚Äã‚Äãas NULL dans la base de données. La valeur par défaut est False.
Vide Si True , le champ peut être vide ... La valeur par défaut est False.
Choix Un itérable (par exemple, une liste ou un tuple) de 2-tuples à utiliser comme choix pour ce champ.
Par défaut La valeur par défaut du champ. Il peut s`agir d`une valeur ou d`un objet appelable. S`il est appelable, il sera appelé à chaque fois qu`un nouvel objet est créé.
help_text Texte "help" supplémentaire à afficher avec le widget de formulaire. Il est utile pour la documentation même si votre champ n`est pas utilisé sur un formulaire.
primary_key Si True, ce champ est la clé primaire du modèle.
Unique Si True, ce champ doit être unique dans tout le tableau.