Deprecated: Constant E_STRICT is deprecated since 8.4, the error level was removed in /home/hybird/newwwwcreme/forum/inc/class_error.php on line 64
Les relations dans Creme [résolu]
Les avertissements suivants se sont produits :
Warning [2] Undefined variable $unreadreports - Line: 21 - File: global.php(961) : eval()'d code PHP 8.5.12 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/global.php(961) : eval()'d code 21 errorHandler->error_callback
/global.php 961 eval
/showthread.php 28 require_once
Warning [2] Undefined property: MyLanguage::$bottomlinks_forumteam - Line: 2 - File: global.php(1047) : eval()'d code PHP 8.5.12 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/global.php(1047) : eval()'d code 2 errorHandler->error_callback
/global.php 1047 eval
/showthread.php 28 require_once
Warning [2] Undefined array key 0 - Line: 1636 - File: showthread.php PHP 8.5.12 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php 1636 errorHandler->error_callback
/showthread.php 912 buildtree




Les relations dans Creme [résolu]
#1
Bonjour,

Décidément, je reviens souvent sur ce forum. Il faut dire que les réponses apportées permettent réellement d'avancer Wink

Aujourd'hui, c'est pour un problème lors de l'enregistrement d'un formulaire.

En effet, j'ai créé un modèle (checkup) supplémentaire dans le module activities avec son propre formulaire et ses vues (création, liste, édition). Je voudrais que ce modèle soit lié à une activité en particulier ainsi qu'à un contact (participant de cette activité).

Voilà ce que j'ai essayé en m'inspirant de ce que vous avez développé pour ActivityCreateForm :

dans le formulaire créé (forms/checkup.py) j'ai défini une fonction save(self) en pensant qu'elle allait créer ces relations, mais il n'en est rien...
Code :
...
participant = MultiCremeEntityField(label=_(u'Participant'), model=Contact, required=False)
...
def save(self):
    create_relation = partial(Relation.objects.create, object_entity=self.checkup,
                              type_id=REL_OBJ_PART_2_CHECKUP, user=self.user
                             )

    for entity in self.cleaned_data['participant']:
        create_relation(object_entity=entity)
Avez-vous une idée ? J'obtiens une erreur 404 avec le message suivant :
Code :
CremeEntity.get_credentials(): Cache HIT for id=25 user=jerome
Error in creme_core.Relation.save(): (1048, "Column 'subject_entity_id' cannot be null")
et le chemin qu'il tente d'afficher est /activities/checkup/None. Sans la fonction, tout fonctionne bien mais la relation ne s'établit évidemment pas.

NB J'ai par ailleurs bien défini une relation entre « REL_OBJ_PART_2_CHECKUP » et une relation créée via Creme (« creme_config-object_userrelationtype2 »).

2 questions subsidiaires toujours liées à ce modèle Checkup :
  • - j'ai créé des champs manytomanyfields. Dans le formulaire, ils apparaissent bien, dans la base, ils sont bien remplis avec les bonnes relations mais quand je demande la vue en détail, ce sont les seuls à ne pas apparaître.
  • - la vue en liste ne fonctionne pas, l'erreur est la suivante
    Code :
    FieldError: Cannot resolve keyword 'd' into field. Choices are:
    puis viennent toutes les variables définies dans le modèle. J'ai pourtant suivi le carnet du développeur de modules Creme, j'ai bien eu l'étape ou j'ai dû choisir les éléments à afficher, mais c'est suite à cela que l'erreur est apparue. Depuis, pas moyen de réinitialiser mon choix (or c'est peut-être là que j'ai fait une erreur), ou de le modifier manuellement.[/*]
Merci d'avance pour votre aide précieuse.
  Répondre


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)