erro "coluna desconhecida 'user_id' em vista django

votos
5

Estou tendo um erro onde eu não tenho certeza o que causou isso.

Aqui está o erro:

Exception Type:     OperationalError
Exception Value:    
(1054, Unknown column 'user_id' in 'field list')

Alguém sabe por que eu estou recebendo este erro? Eu não posso descobrir isso. Tudo parece estar bem.

Meu código vista está abaixo:

if login in request.session:
    t = request.POST.get('title', '')
    d = request.POST.get('description', '')
    fid = request.session[login]
    fuser = User.objects.get(id=fid)
    i = Idea(user=fuser, title=t, description=d, num_votes=1)
    i.save()
    return HttpResponse(true, mimetype=text/plain)
else:
    return HttpResponse(false, mimetype=text/plain)

Agradeço qualquer ajuda! Obrigado!

Edit: Também uma questão lateral. Eu uso objects.get (id = ou objects.get (pk =? Se eu usar uma chave primária, eu preciso declarar um campo id ou um índice no modelo?

Edit: Aqui estão os modelos relevantes:

class User (models.Model):
    first_name = models.CharField(max_length=200)
    last_name = models.CharField(max_length=200)
    email = models.CharField(max_length=200)
    password = models.CharField(max_length=200)

class Idea (models.Model):
    user = models.ForeignKey(User)
    title = models.CharField(max_length=200)
    description = models.CharField(max_length=255)
    num_votes = models.IntegerField()
Publicado 16/11/2008 em 01:44
fonte usuário
Em outras línguas...                            


3 respostas

votos
5
  1. O user_idcampo é a referência FK a partir Ideade User. Parece que você mudou seu modelo, e não atualizado seu banco de dados, então você vai ter esse tipo de problema.

    Largue a tabela antiga, syncdb reprise.

  2. Suas tabelas modelo obter um idcampo por padrão. Você pode chamá-lo idem suas consultas. Você também pode usar o sinônimo de pk.

    Se você definir seu próprio campo de chave primária, você não receber o automática idcampo. Mas você ainda pode usar pkpara se referir à chave primária.

Respondeu 16/11/2008 em 02:25
fonte usuário

votos
4

Você terá que mostrar seus modelos para obter ajuda real, mas parece que sua tabela Idea não tem uma coluna user_id? Será que quis modificar a estrutura da tabela SQL?

Respondeu 16/11/2008 em 02:22
fonte usuário

votos
0

Sim, eu deixei cair as tabelas e tudo funcionou muito bem. No entanto, você tem que realmente ir para o banco de dados e soltá-los. "Manage.py flush" ou "manage.py redefinir appname" não vai fazer isso por si mesmos.

O -Nick

Respondeu 31/12/2009 em 04:01
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more