Использовать параметры или метод класса для on_delete.SET()? (Как изменить поле ForeignKey при удалении)

Можно ли использовать SET() для ForeignKey для on_delete с параметрами и/или методом класса?

По сути, я хочу использовать модель или модель ForeignKey для создания нового поля.

E.g.

def create_new_relationship(obj):
    return obj.relationships.first()

class Item(models.Model):
    name = CharField()
    relationships = ManyToMany("self", on_delete=SET_NULL)
    relationship = ForeignKey("self", on_delete=SET(
        # method with params or
        # class method possible here?
    ))

    def create_new_relationship(self):
        return self.relationships.first()

Единственный другой вариант, который я могу придумать, это добавить сигнал до/после удаления к Item.

Вернуться на верх