Projet

Général

Profil

Bug #8598

Erreur à l'import d'un site contenant des cellules liens vers d'autres pages

Ajouté par Frédéric Péters il y a plus de 8 ans. Mis à jour il y a presque 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
11 octobre 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Si on a une première page qui contient un lien vers une seconde, qui n'a pas encore été créée par l'import, ça échoue genre :

  File "/usr/lib/python2.7/dist-packages/combo/manager/views.py", line 72, in form_valid
    Page.load_serialized_pages(json_site)
  File "/usr/lib/python2.7/dist-packages/combo/data/models.py", line 205, in load_serialized_pages
    cls.load_serialized_page(json_page)
  File "/usr/lib/python2.7/dist-packages/combo/data/models.py", line 200, in load_serialized_page
    cell.save()
  File "/usr/lib/python2.7/dist-packages/django/core/serializers/base.py", line 173, in save
    models.Model.save_base(self.object, using=using, raw=True)
  File "/usr/lib/python2.7/dist-packages/django/db/models/base.py", line 617, in save_base
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  File "/usr/lib/python2.7/dist-packages/django/db/transaction.py", line 339, in __exit__
    connection.commit()
  File "/usr/lib/python2.7/dist-packages/django/db/backends/__init__.py", line 176, in commit
    self._commit()
  File "/usr/lib/python2.7/dist-packages/django/db/backends/__init__.py", line 145, in _commit
    return self.connection.commit()
  File "/usr/lib/python2.7/dist-packages/django/db/utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/lib/python2.7/dist-packages/django/db/backends/__init__.py", line 145, in _commit
    return self.connection.commit()
IntegrityError: ERREUR:  une instruction insert ou update sur la table « data_linkcell » viole la contrainte de clé
étrangère « data_linkcell_link_page_id_796bf457c58c6dc7_fk_data_page_id »
DETAIL:  La clé (link_page_id)=(3) n'est pas présente dans la table « data_page ».

Il faudrait une première passe qui crée les pages, puis une seconde pour y insérer les cellules.


Fichiers

Révisions associées

Révision 6abb1b30 (diff)
Ajouté par Frédéric Péters il y a environ 8 ans

general: fix site import when link cells refer to future cells (#8598)

Historique

#1

Mis à jour par Frédéric Péters il y a environ 8 ans

Deux temps + utilisation de natural keys pour les pages.

#2

Mis à jour par Serghei Mihai il y a environ 8 ans

Ack

#3

Mis à jour par Frédéric Péters il y a environ 8 ans

  • Statut changé de En cours à Résolu (à déployer)
commit 6abb1b30c04170ce936692724d7fba605914e68e
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Sun Mar 6 16:00:53 2016 +0100

    general: fix site import when link cells refer to future cells (#8598)
#4

Mis à jour par Frédéric Péters il y a presque 8 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF