J'ai le cas de test django suivant qui me donne des erreurs:Problèmes d'utilisation modèle de l'utilisateur dans l'unité de django teste
class MyTesting(unittest.TestCase):
def setUp(self):
self.u1 = User.objects.create(username='user1')
self.up1 = UserProfile.objects.create(user=self.u1)
def testA(self):
...
def testB(self):
...
Quand je lance mes tests, testA
va passer avec succès mais avant testB
commence, je reçois le texte suivant erreur:
IntegrityError: column username is not unique
il est clair qu'il essaie de créer self.u1
avant chaque test et de trouver qu'il existe déjà dans la base de données. Comment puis-je le nettoyer correctement après chaque test afin que les cas suivants fonctionnent correctement?
Merci! Le problème que j'ai maintenant est que quand je supprime up1, la suppression ne cascade pas et supprime également u1, même si j'ai spécifié User comme une clé étrangère de UserProfile. par exemple. 'user = models.ForeignKey (User, unique = True)' – theycallmemorty
En fait, vous devez supprimer l'utilisateur afin de cascader et supprimer le profil de l'utilisateur en une seule fois, ou vous pouvez supprimer le profil de l'utilisateur d'abord, puis l'utilisateur. –
Bah ... J'ai lu ça pas dans les docs mais pour une raison inconnue, je me suis demandé quelle direction indiquait la clé étrangère ... – theycallmemorty