2 votes

Django enregistre la chaîne de caractères dans le champ de date

Dans mon application Django, j'ai un DateField (format 'AAAA-MM-JJ'). Lorsque j'essaie d'enregistrer la chaîne '2011-11-01', je n'obtiens aucune erreur mais mon champ obtient la valeur NULL.

J'ai essayé de le faire avec la fonction strptime des bibliothèques datetime et time mais avec le même problème. Fondamentalement, tout se passe dans un formulaire

J'ai

    if form.valide():
        form.cleaned\_data\['date'\] = année + '-' + mois + '-' jour
        form.save()

2voto

second Points 11641

Une partie de la validation du formulaire inclut le nettoyage des données. Le dictionnaire cleaned_data contient des objets Python, pas les données de publication (chaîne).

Donc form.cleaned_data['data'] doit être un objet datetime (ou vous devez modifier le formulaire ou les données de publication avant de nettoyer).

0voto

Peter Points 1782

Je pense que vous devriez vérifier l'objet modèle qui accepte l'objet date et confirmer que vous ne l'avez pas défini pour toujours être null ... En fait, je pense que l'erreur est là, pas dans la vue ou la méthode de sauvegarde mais dans l'objet modèle qui devrait prendre un objet date. Peut-être devriez-vous envisager de poster votre code modèle ici pour que nous puissions le voir.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X