I have model `Department`:

```
class Department(models.Model):
    id = models.AutoField(primary_key=True)
    title = models.CharField(max_length=30)
    subsidiary = models.ManyToManyField('self',null=True,blank=True, symmetrical=False, related_name='subsidiary_name')
    superior = models.ForeignKey('self',null=True,blank=True, related_name='superior_name', on_delete = models.DO_NOTHING)
    manager = models.ForeignKey(Manager, on_delete = models.DO_NOTHING)
    history = HistoricalRecords()

def get_subsidiary(self):
        return "\n".join([p.title for p in self.subsidiary.all()])

def __str__(self):
    return self.title 

```

In `Department` model I have 2 instance of the same model: `subsidiary` and `superior` departments. The rules are simple: one department can have only one superior department, and many subsidiary.
I want to implement next logic:
[![enter image description here](https://i.stack.imgur.com/VceKH.png)](https://i.stack.imgur.com/VceKH.png)

I am creating new department SLF, and f.e. I choose SID department as superior department for SLF. Finally, when I save SLF object I want to add this department as subsidiary for SID automatically.

I am trying to override save method like:

```
def save(self, *args, **kwargs):
    print('Department.objects.filter(title=self.superior): ', Department.objects.filter(title=self.superior))
    if self.superior__in == Department.objects.filter(title=self.superior.title):
        tmp = Department.objects.filter(title=self.superior.title)
        tmp.create(subsidiary = self.superior)
        tmp.save()

    super(Department, self).save(*args, **kwargs)

```

But it doesn't work. How can implement something like this?