IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

Comment autoriser l'insertion d'une valeur NULL dans un champ CharField


Sujet :

Django Python

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Comment autoriser l'insertion d'une valeur NULL dans un champ CharField
    Bonjour,
    Tout d'abord je suis un débutant.

    J'aimerai savoir comment autoriser l'insertion d'une NULL dans un champ CharField.

    Dans mon exemple je dois pouvoir insérer un enregistrement en laissant le champ "nomfichier" vide.
    Comment faire?

    Voici ma classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class Projet(models.Model):
        donnee = models.ForeignKey(Donnee)
        id_fedora = models.CharField(max_length=50, blank=True)
        code = models.CharField(max_length=50)
        label = models.CharField(max_length=250)
        datecreation = models.DateField('date published')
        nomfichier = models.CharField(max_length=250, null=True, blank=True)
     
        def __unicode__(self):
            return self.label

    Voici ma vue pour l'insertion d'un nouveau record:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    def detailneuf(request):
        if request.method == "POST":
            vl_monform = ProjetForm(request.POST)
     
            vl_monform.save()
     
            return redirect('/projets/forms/new/')
        else:
            vl_monform = ProjetForm()
     
            return render_to_response('projects/newprojet.html', {'pe_monform': vl_monform},
                                      context_instance = RequestContext(request))
    Et voici mon form:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class ProjetForm(ModelForm):
        code = CharField(widget = TextInput(attrs = {'size': 20}), label = 'Project Code')
     
        label = CharField(widget = Textarea(attrs = {'cols': 25, 'rows': 10}), label = 'Project Label')
     
        nomfichier = CharField(widget = TextInput(attrs = {'size': 70}), label = 'File Name')
     
        datecreation = DateField(widget = CalendarWidgetJquery, label = 'Creation Date')
     
        class Meta:
            model = Projet
     
            fields = ('donnee', 'code', 'datecreation', 'label', 'nomfichier')
    Lorsque j'essai d'insérer un record en laissant la colonne "nomfichier" vide, j'ai le message suivant:
    "The Projet could not be created because the data didn't validate", par contre si dans mon form je supprime la colonne "nomfichier" j'arrive à insérer mon record dans ma BD.

    Je ne comprends rien :-(

    Merci d'avance pour votre aide.

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Trouvé
    J'ai trouvé.

    Le problème était au niveau de mon form (class ProjetForm).

    Avant j'avais le code suivant et ça ne fonctionnait pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomfichier = CharField(widget = TextInput(attrs = {'size': 70}), label = 'File Name')
    J'ai ajouté "required=False" dans mon widget et maintenant j'ai le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomfichier = CharField(widget = TextInput(attrs = {'size': 70}), required=False, label = 'File Name')
    Et ça fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insertion d'une valeur null dans une clé étrangère
    Par labib23dz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/03/2012, 10h24
  2. Insertion d'une valeur NULL dans un champs DATETIME
    Par jockhip12 dans le forum Requêtes
    Réponses: 5
    Dernier message: 17/02/2012, 12h58
  3. Saisir une valeur null dans 1 champ de ma table
    Par User dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2007, 23h40
  4. Réponses: 3
    Dernier message: 10/08/2005, 11h11
  5. Inserer une valeur NULL dans un champ datetime
    Par Karibou dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 10/08/2005, 10h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo