12

Tengo una aplicación django donde una aplicación tiene una relación de varios a varios con un perfil de usuario. Pero cada vez que hago un syncdb, me advierte que es app_users campo rancioDjango: Syncdb advierte incorrectamente que el campo de muchos a muchos está obsoleto

The following content types are stale and need to be deleted: 
    Apps | app_users 

#settings.py 
AUTH_PROFILE_MODULE = 'kprofile.UserProfile' 

#Apps/models.py 
class app(models.Model): 
    .... 
    users = models.ManyToManyField(UserProfile) 

Ahora yo no uso PerfilUsuario vista interior a excepción de algunos fines de autenticación dentro de las reglas. Y un perfil de usuario se puede adjuntar a una aplicación solo desde la interfaz de administración. ¿Cómo puedo evitar que django syncdb me dé esta advertencia falsa/incorrecta?

Respuesta

20

Preste atención al mensaje. No afirma que su campo está obsoleto, sino una entrada en el modelo Content Types.

En el shell, haga lo siguiente:

from django.contrib.contenttypes.models import ContentType 
ct = ContentType.objects.get(app_label='Apps', model='app_users') 
ct.delete() 
+0

seguido sus órdenes y ct impresa. ct =>. Yo pensaría que es una relación válida. – Neo

+0

Nada que ver con si es válido. Ese CT ya no apunta al lugar correcto. Elimínalo y ejecuta syncdb, que lo recreará correctamente. –

+2

Respiré profundamente (estoy trabajando directamente en el servidor de producción) y escribí "sí" en el aviso. Aparentemente todo sigue funcionando correctamente. Gracias por aclararlo. – Neo

Cuestiones relacionadas