2013-02-27 4 views
0

J'ai un modèle qui inclut un objet TimeField. J'ai également un modèle de django qui énumère le champ de temps au format JSON par exemple.Le formatage TimeField dans le modèle Django ne montre rien

... 
    "time":"{{ mymodel.mytime }}", 
... 

Sans spécifier de formatage/filtres, etc., ceci a pour résultat, par ex.

.... 
    "time":"5 p.m.", 
.... 

Cependant, lorsque j'applique un filtre de temps à mon modèle à savoir

... 
    "time":"{{ mymodel.mytime|time:"H:i" }}", 
... 

-je obtenir le résultat suivant:

... 
    "time":"", 
... 

dire ma valeur de temps est effacé. Je ne suis pas sûr de ce qui se passe? J'ai aussi un champ de date dans le même modèle et le filtre auquel j'applique (dans le même modèle de django) qui fonctionne comme défini.

J'utilise Django 1.4.2

Qu'est-ce que je manque ou ne pas faire correctement?

+1

Êtes-vous certain que la valeur de 'time' est en fait un objet de temps, plutôt qu'une chaîne? Il semble étrange que sa représentation par défaut soit "17 heures". plutôt que "17:00:00" auquel je m'attendrais. –

+0

Dans mon modèle, j'ai ce qui suit: mytime = models.TimeField (vide = True, null = True) .. Donc je m'attendrais à ce qu'il renvoie un objet Time par défaut? – FlashAsh99

Répondre

0

Pour une raison quelconque de bizzare, je ne sais pas quoi .. Il a commencé à travailler! Doit avoir été une faute de frappe ou quelque chose dans le format de filtre ?! Vraiment étrange.

4

Vous avez également mis le format de l'heure entre guillemets. essayer:

"time":"{{ mymodel.mytime|time:'H:i' }}", 

ou

"time":'{{ mymodel.mytime|time:"H:i" }}', 

ou

"time":"{{ mymodel.mytime|time:\"H:i\" }}", 
0

temps

Formats un temps selon le format donné.

Le format donné peut être le TIME_FORMAT prédéfini, ou un format personnalisé, identique au filtre de date. Notez que le format prédéfini dépend des paramètres régionaux.

Par exemple:

{{valeur | temps: "H: i"}}