Usando Django 1.5, probando la característica de usuario personalizada.
Solo tengo 3 modelos en el proyecto. Aquí están,
class CustomUser(AbstractBaseUser, PermissionsMixin):
class CustomUserManager(BaseUserManager):
class testModel (models.Model):
No hay errores cuando lo hago python manage.py validate
. Cuando lo hago python manage.py sqlall lancer
(lancer es el nombre de la aplicación), muestra lo siguiente,
BEGIN;
CREATE TABLE "lancer_testmodel" (
"id" serial NOT NULL PRIMARY KEY,
"first_name" varchar(30) NOT NULL,
"last_name" varchar(30) NOT NULL
)
;
COMMIT;
¿Qué pasó con el código SQL para los otros dos modelos? ¿Solo crea tablas para modelos que heredan explícitamente? models.Model
?
Información Adicional,
- yo añadí
AUTH_USER_MODEL = "lancer.CustomUser"
al final de mi archivo settings.py según la documentación de Django - Comenté todas las demás aplicaciones instaladas en settings.py. Lo sé que muchos de ellos fueron utilizados por
contrib.auth
, pero ya que estoy usando un nuevo modelo de usuario personalizado, acabo de comentar todo lo demás.
Esto es lo que parece ahora,
INSTALLED_APPS = (
#"django.contrib.auth",
#"django.contrib.contenttypes",
#"django.contrib.sessions",
#"django.contrib.sites",
#"django.contrib.messages",
#"django.contrib.staticfiles",
# Uncomment the next line to enable the admin:
# "django.contrib.admin",
# Uncomment the next line to enable admin documentation:
# "django.contrib.admindocs",
"lancer",
)
Respuestas
4 para la respuesta № 1Bien PermissionsMixin
depende de
"django.contrib.auth",
"django.contrib.contenttypes",
si solo comentas django.contrib.auth
y descomentar django.contrib.contenttypes
, tendras este error
CommandError: Uno o más modelos no validaron: users.myuser: "grupos" tiene una relación m2m con el modelo
<class "django.contrib.auth.models.Group">
, que no se ha instalado o es abstracto. users.myuser: "user_permissions" tiene una relación m2m con el modelo<class "django.contrib.auth.models.Permission">
, que no se ha instalado o es abstracto.
si te molestas django.contrib.auth
y comentar django.contrib.contenttypes
Tendras este error
CommandError: Uno o más modelos no validaron: auth.permission: "content_type" tiene una relación con el modelo <
class "django.contrib.contenttypes.models.ContentType">
, que no se ha instalado o es abstracto.
y si usted descomenta los dos, el sqlall tiene que generar su tabla: D