Projet

Général

Profil

Bug #9974

AttributeError: 'DatabaseWrapper' object has no attribute 'get_tenant'

Ajouté par Josué Kouka il y a environ 8 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Josué Kouka
Catégorie:
multitenant
Version cible:
-
Début:
13 février 2016
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:

Fichiers


Demandes liées

Lié à Mandaye - Bug #9970: MandayeJS : AttributeError: 'DatabaseWrapper' object has no attribute 'get_tenant'Fermé12 février 2016

Actions
Lié à Authentic 2 - Bug #10046: AttributeError: 'DatabaseWrapper' object has no attribute 'get_tenant'Fermé22 février 2016

Actions

Révisions associées

Révision 00d4c693 (diff)
Ajouté par Josué Kouka il y a environ 8 ans

add hobo rest_authentication class to service (#9974)

Historique

#1

Mis à jour par Josué Kouka il y a environ 8 ans

  • Lié à Bug #9970: MandayeJS : AttributeError: 'DatabaseWrapper' object has no attribute 'get_tenant' ajouté
#2

Mis à jour par Josué Kouka il y a environ 8 ans

Juste pour redéfinir le contexte. L'ajout de hobo.rest_authentication.PublikAuthentication se faisait dans le debian/debian_config du service déployé, ce qui entrainait lors d'un start/restart du service un AttributeError: 'DatabaseWrapper' object has no attribute 'get_tenant'.

#3

Mis à jour par Josué Kouka il y a environ 8 ans

  • Statut changé de Nouveau à En cours
#4

Mis à jour par Benjamin Dauvergne il y a environ 8 ans

C'est peut-être un peu violent, et c'est si REST_FRAMEWORK est déjà défini ?

Il va falloir faire du

REST_FRAMEWORK = globals().setdefault('REST_FRAMEWORK', {})
REST_FRAMEWORK.setdefault('DEFAULT_AUTHENTICATION_CLASSES') = tuple(REST_FRAMEWORK.get('DEFAULT_AUTHENTICATION_CLASSES', ())) + (''hobo.rest_authentication.PublikAuthentication',)

#5

Mis à jour par Josué Kouka il y a environ 8 ans

#7

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

Je trouve ça illisible.

if 'rest_framework' in INSTALLED_APPS:
    # dans cette situation on doit avoir REST_FRAMEWORK dans le settings.py de l'application, qui aura été chargé.
    if 'DEFAULT_AUTHENTICATION_CLASSES' in REST_FRAMEWORK:
        # alors on ajoute les nôtres ?
    else:
        REST_FRAMEWORK['DEFAULT_AUTHENTICATION_CLASSES'] = (..., )
#8

Mis à jour par Benjamin Dauvergne il y a environ 8 ans

Il n'y a aucune garantie que REST_FRAMEWORK soit défini.

#9

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

Très bien mais je trouve le code proposé est illisible, s'il n'y a pas de REST_FRAMEWORK défini, que ça soit testé et défini par un if 'REST_FRAMEWORK' in globals(): REST_FRAMEWORK = {}

#11

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

Définir aussi la classe HOBO_ANONYMOUS_SERVICE_USER_CLASS ? Ou pas.

#13

Mis à jour par Benjamin Dauvergne il y a environ 8 ans

Ack.

#14

Mis à jour par Josué Kouka il y a environ 8 ans

  • Statut changé de En cours à Résolu (à déployer)
  • % réalisé changé de 0 à 100
#15

Mis à jour par Benjamin Dauvergne il y a environ 8 ans

  • Lié à Bug #10046: AttributeError: 'DatabaseWrapper' object has no attribute 'get_tenant' ajouté
#16

Mis à jour par Frédéric Péters il y a plus de 5 ans

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

Formats disponibles : Atom PDF