tutorial theme template password createsuperuser create actions django django-admin

theme - django tutorial



Permitir nulo en clave externa al usuario. Django (3)

club_vacancy.user_id may not be NULL

Se parece mucho a un error de su base de datos, en lugar de a Django.

Parece más probable que haya agregado null=True después de ejecutar manage.py syncdb . Tendrá que modificar el esquema de su base de datos para permitir valores nulos en esa columna.

Tengo este modelo

class Vacancy(models.Model): user = models.ForeignKey(User, null=True, blank=True, default = None) name = models.CharField(max_length=64)

Cuando en admin intento crear una vacante sin un usuario. Y arroja un error "club_vacancy.user_id puede no ser NULL". ¿Estoy haciendo algo mal?


Aparte de South, otra opción es usar django evolution para cambios de esquema.

http://code.google.com/p/django-evolution/

Instálalo antes de hacer cambios db. Entonces corre

python manage.py evolve --hint --execute

Asegúrese de que si agrega un nuevo campo, permita nulos ( null=True ) o de lo contrario, evolucionar le dará un mensaje de error.


necesita restablecer la tabla de la base de datos (ya que solo syncdb no actualiza los campos que ya se crearon con null = False)

./manage.py resetea tu_app

O si hay algunos datos que no desea perder, use los comandos SQL para eliminar el indicador NOT NULL