Foros del Web » Programando para Internet » Python »

Column 'user_id' cannot be null

Estas en el tema de Column 'user_id' cannot be null en el foro de Python en Foros del Web. Hola e intentado todas las formas posibles pero no se cual sera mi error dejando claro que apenas comienzo en django y estoy siguiendo ejemplos ...
  #1 (permalink)  
Antiguo 04/07/2015, 11:28
 
Fecha de Ingreso: abril-2010
Mensajes: 151
Antigüedad: 14 años, 7 meses
Puntos: 1
Column 'user_id' cannot be null

Hola e intentado todas las formas posibles pero no se cual sera mi error dejando claro que apenas comienzo en django y estoy siguiendo ejemplos apenas empiezo una aplicacion basica algo sencillo como insertar y actualizar datos insertados por los usuarios registrados pero tengo un problema con la relacion de usuarios al insertar un contenido con pepe ejemplo ese usuario tiene un id clave primaria y e alli el problema la clave primaria no es insertada desde un formulario realizado

aca el error
Column 'user_id' cannot be null

aca el codigo:



Código Python:
Ver original
  1. el forms.py
  2. class addPostForm(forms.ModelForm):
  3.     class Meta:
  4.         model = posts
  5.         exclude = {'slug','user', 'creado'}
  6.  
  7.  
  8. el view.py
  9.  
  10. def addPosts(request):
  11.     if request.method == "POST":
  12.         form = addPostForm(request.POST)
  13.         if form.is_valid():
  14.             add = form.save(commit=False)
  15.             add.save()
  16.             form.save_m2m()
  17.             return HttpResponseRedirect('/')
  18.     else:
  19.         form = addPostForm ()
  20.     ctx = {'form': form}
  21.     return render_to_response('posts/add.html', ctx, context_instance=RequestContext(request))
  22.  
  23. y finalmente el modelo
  24.  
  25.  
  26. class posts(models.Model):
  27.     titulo = models.CharField(max_length=180, unique=True)
  28.     slug = models.SlugField(max_length=180, editable=False)
  29.     contenido = models.TextField()
  30.     categoria = models.ForeignKey(categorias)
  31.     user = models.OneToOneField(User)
  32.     tags = models.CharField(max_length=200)
  33.     creado = models.DateTimeField(auto_now_add=True)
  34.     modificado = models.DateTimeField(auto_now=True)
  35.  
  36.  
  37.     def save(self, *args, **kwargs):
  38.         self.slug = slugify(self.titulo)
  39.         super(posts, self).save(*args, **kwargs)
  40.  
  41.     def __str__(self):
  42.         return self.titulo
  #2 (permalink)  
Antiguo 04/07/2015, 22:53
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Column 'user_id' cannot be null

Pues tienes que añadirle el usuario en algún momento.

Código Python:
Ver original
  1. if form.is_valid():
  2.     form.instance.user = request.user
  3.     ...

Ademas creo que no quieres OneToOneField a menos que quieres que cada usuario solo tenga cero o una instancia.

Etiquetas: django, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:10.