Permitir nulo na chave externa para usuário. Django
-
06-07-2019 - |
Pergunta
Eu tenho este modelo
class Vacancy(models.Model):
user = models.ForeignKey(User, null=True, blank=True, default = None)
name = models.CharField(max_length=64)
Quando em administração tento que serve para criar uma vaga sem um usuário. E ele lança um erro "club_vacancy.user_id pode não ser NULL". Estou fazendo algo errado?
Solução
club_vacancy.user_id may not be NULL
parece muito com um erro do seu banco de dados, ao invés de Django.
Parece mais provável que você adicionou null=True
após a execução manage.py syncdb
. Você precisará modificar seu esquema de banco de dados para permitir valores nulos na coluna.
Outras dicas
Além de Sul, outra opção é usar o Django evolução para as mudanças de esquema.
http://code.google.com/p/django-evolution/
Instale-o antes de fazer alterações db. Em seguida, execute
python manage.py evolve --hint --execute
Certifique-se de que se você adicionar um novo campo, você permite nulos (null=True
) ou então evoluir lhe dará uma mensagem de erro.
você precisa redefinir você banco de dados tabela (desde apenas syncdb não atualiza campos que são alredy criados com nulo = false)
./ redefinição manage.py your_app
ou se há alguns dados que você não quer comandos usar o SQL soltas para remover NÃO bandeira NULL