Crème CRM
Creation de module : Erreur 500 - enregistrement formulaire - Version imprimable

+- Crème CRM (https://www.cremecrm.com/forum)
+-- Forum : Utilisateurs (https://www.cremecrm.com/forum/forumdisplay.php?fid=5)
+--- Forum : Questions (https://www.cremecrm.com/forum/forumdisplay.php?fid=8)
+--- Sujet : Creation de module : Erreur 500 - enregistrement formulaire (/showthread.php?tid=176)



Creation de module : Erreur 500 - enregistrement formulaire - Patix - 17-11-2020

Bonjour,

Je ne peux pas enregistrer une fiche créée avec mon module. Erreur 500.

Je pense avoir suivi la doc exemple correctement Confused .

Si j'essaie de créer un enregistrement directement dans phpmyadmin, j'ai :

Code :
#1452 - Cannot add or update a child row: a foreign key constraint fails (`mabase`.`editors_editor`, CONSTRAINT `editors_editor_cremeentity_ptr_id_xxx_fk_creme_cor` FOREIGN KEY (`cremeentity_ptr_id`) REFERENCES `creme_core_cremeentity` (`id`))


Un peu d'aide me serait bien utile Blush


RE: Creation de module : Erreur 500 - enregistrement formulaire - Patix - 18-11-2020

Bon j'ai trouvé mon erreur.

Comme j'ai changé des noms ou référence par rapport à l'exemple, j'ai oublié de modifier un paramètre.

Dans models/beaver.py


Code :
  def __str__(self):
     return self.name

"name" est à modifier suivant ses paramètres


RE: Creation de module : Erreur 500 - enregistrement formulaire - genglert - 18-11-2020

Citation :Si j'essaie de créer un enregistrement directement dans phpmyadmin [...]

Attention quand même ; les entités sont découpées en 2 parties: la partie CremeEntity pure (table 'creme_core_crementity'), et la table spécifique au type (ex: 'persons_contact'). Les lignes de la seconde table référencent la première, et la première utilise aussi des champ internes (comme celui qui indique le type final -- "Contact" dans mon exemple). Ce n'est donc pas totalement trivial de les créer "à la main" (la commande "python manage.py shell" est là pour ça, et c'est mieux avec 'ipython' d'installé).


RE: Creation de module : Erreur 500 - enregistrement formulaire - Patix - 20-11-2020

Bonjour,

dans l'exemple castor/beaver toute les tables commencent avec "name" en premier champs

Code :
class Beaver(CremeEntity):
   name     = CharField(_('Name'), max_length=100)
   birthday = DateField(_('Birthday'))


Est ce une obligation / une convention ?


RE: Creation de module : Erreur 500 - enregistrement formulaire - genglert - 20-11-2020

Citation :Est ce une obligation / une convention ?

Ni l'un ni l'autre ; c'est juste le cas le plus classique. Après certains types utilisent un champ "title" ; les Contacts ont eux le couple "first_name/last_name".

C'est en général une bonne chose de nommer les fiches, mais vous pourriez tout à fait avoir un usage où c'est inutile/pénible ; vous pourriez aussi avoir un entre deux, comme les Document qui sont capables de déduire leur champ "title" du fichier associé lorsque vous ne leur donnez pas de titre explicitement.