J'essaie de rendre les applications plugables plus résistantes sous Django 1.5 où vous avez maintenant un modèle utilisateur personnalisable.Une meilleure façon d'importer AUTH_USER_MODEL dans Django 1.5
Lors de l'ajout des clés étrangères à un modèle que je peux faire:
user = models.ForeignKey(settings.AUTH_USER_MODEL)
qui me sauve l'importation de l'utilisateur en haut du fichier qui casse quand django.contrib.auth.models.User
n'est plus le modèle de l'utilisateur. Mais parfois, lors du test, je dois être en mesure de créer un utilisateur et le meilleur que je suis en mesure de trouver pour cela est
from django.conf import settings
from django.db.models import get_model
User = get_model(*settings.AUTH_USER_MODEL.split('.'))
je peux faire des choses comme:
User.objects.create(username="test")
dans mon test (certains objets ont des FK liés aux utilisateurs et j'ai besoin d'un de ces objets dans un test).
Cela ne me semble pas particulièrement élégant, mais je ne vois vraiment pas de moyen plus propre de le faire en 1.5.
Ai-je raté quelque chose dans les documents?
Est-ce que 'get_user_model' existait pas avant 1,5? Sinon, c'est un très bon point. – boatcoder
Non - vérifiez la différence: https://github.com/django/django/blob/1.4/django/contrib/auth/__init__.py et https://github.com/django/django/blob/1.5c2/ django/contrib/auth/__ init__.py – karthikr