Tengo el siguiente caso de prueba Django que me está dando errores:problemas utilizando el modelo del usuario en la unidad de Django pone a prueba
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):
...
Cuando ejecuto mis pruebas, testA
pasaré con éxito pero antes de testB
aperturas, me sale el siguiente de error:
IntegrityError: column username is not unique
es claro que se está tratando de crear self.u1
antes de cada caso de prueba y encontrar que ya existe en la base de datos. ¿Cómo hago para que se limpie adecuadamente después de cada caso de prueba para que los casos posteriores se ejecuten correctamente?
Gracias! El problema que estoy teniendo ahora es que cuando elimino up1, la eliminación no se inicia en cascada y elimina u1 también, aunque he especificado User como una clave foránea de UserProfile. p.ej. 'user = models.ForeignKey (User, unique = True)' – theycallmemorty
En realidad, debe eliminar al usuario para poder poner en cascada y eliminar el perfil de usuario de una vez, o puede eliminar primero el perfil de usuario y luego el usuario. –
Bah ... Leí eso no en los documentos, pero por alguna razón me confundí acerca de qué dirección apuntaba la clave externa ... – theycallmemorty