Удаление внешнего ключа модели Django - PullRequest
0 голосов
/ 02 сентября 2011

У меня есть следующая модель:

class Client(models.Model):
    user = models.OneToOneField(DjangoUser, unique=True)
    address = models.ForeignKey(Address,blank=True)

class Address(models.Model):
    (...)

Тогда я делаю:

client=Client()
client.address=address #any Address instance
client.save()

А теперь: как мне удалить ключ внешней ассоциации из клиента?

client.address=None 

похоже не работает.

Ответы [ 3 ]

1 голос
/ 02 сентября 2011
address = models.ForeignKey(Address,blank=True, null=True)

ключ имеет значение NULL = True, а также пусто = True

также убедитесь, что syncdb и т. Д.

1 голос
/ 02 сентября 2011

Чтобы иметь возможность обнулить внешний ключ, недостаточно установить blank.Вы также должны указать, что null=True также установлено в поле.См. Разница между пустым и нулевым .

1 голос
/ 02 сентября 2011

Ваша текущая модель не поддерживает null=True, поэтому вы не можете установить ее на None.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...