Erreur Django sur un formulaire de modèle avec des ManyToMany

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous,

En travaillant sur mon projet perso en cours je bute sur une erreur dans un de mes formulaires Django et je ne trouve aucune solution ni sur StackOverflow ni dans le cours Django de Zds . Je m’explique :

J’ai un formulaire dans lequel on peut renseigner des données sur une personne sauf que certains champs sont des liens Many To Many vers d’autres modèles. Tout se passe à merveille mais quand je fait un ModelForm) sur ce modèle sans exclure les deux Many TO Many ca crash .

Voici l’erreur :

AttributeError: 'str' object has no attribute '_default_manager'

Mes modèles concernés (pas l’intégralité):

from django.db import models
from django.forms import ModelForm, DateInput

class collaborateurs(models.Model):
    nomCollaborateur = models.CharField(max_length=200)
    prenomCollaborateur = models.CharField(max_length=200)
    titreCollaborateur = models.CharField(max_length=200)
    texteIntroductifCv = models.TextField(default='')
    nbAnneeExperience = models.IntegerField()
    listeCompetencesCles = models.ManyToManyField('competences')
    formation = models.TextField()
    parcours = models.TextField()
    methodologie = models.TextField()
    langues = models.TextField()
    outilsCollaborateur = models.ManyToManyField('outils')
    estEnIntercontrat = models.BooleanField(default=False)
    def __str__(self):
        return self.nomCollaborateur

class outils(models.Model):
    nomOutil = models.CharField(max_length=250)
    def __str__(self):
        return self

class competences(models.Model):
    familleCompetence = models.CharField(max_length=250)
    nomCompetence = models.CharField(max_length=250)
    def __str__(self):
        return self.nomCompetence

class collaborateursForms(ModelForm):
    class Meta:
        model = collaborateurs
        fields = ['nomCollaborateur','prenomCollaborateur','titreCollaborateur','texteIntroductifCv','nbAnneeExperience','formation','parcours','methodologie','langues','estEnIntercontrat','outilsCollaborateur']

J’ai volontairement évité le fields all pour le moment pour passer d’un état fonctionnel (sans outilsCollaborateur ) à l’état du bug

Le cas spécifique des Many To Many n’étant pas abordé sur le tuto et sur la documentation officielle je ne vois rien que j’aurai raté (mais je me trompe surement :) ) : ou ai-je fait une erreur ?

Merci beaucoup à tous pour votre aide :)

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte