Как отменить привязку связанного внешнего ключа? - PullRequest
0 голосов
/ 27 сентября 2018

Как удалить внешний ключ?

У меня есть две модели:

class Child(models.Model):
    name = models.CharField(max_length=256, null=True, blank=True)
    parent = models.ForeignKey(to=Parent, null=True, related_name="children", on_delete=models.DO_NOTHING)


class Parent(models.Model):
    name = models.CharField(max_length=256, null=True, blank=True)

    def unbind_children(self):  # there I want to unbind all children
        # how to realize this? 

Я хочу открепить дочерний элемент, то есть хочу, чтобы родительское поле особого родительского экземпляра Child было None.

1 Ответ

0 голосов
/ 27 сентября 2018

Попробуйте self.children.update(parent=None)

class Parent(models.Model):
    name = models.CharField(max_length=256, null=True, blank=True)

    <b>def unbind_child(self):
        self.children.update(parent=None)</b>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...