Я читал о сигналах django (http://docs.djangoproject.com/en/dev/topics/signals/), но, насколько я понимаю, сигналы никогда не преобразуются в буквальные триггеры SQL (http://en.wikipedia.org/wiki/Database_trigger).
Если я прав, что сигналы и триггеры разные, то какой из них лучше и в чем? Какова лучшая практика?
....................
Вот конкретный пример, если вы хотите:
class Location(models.Model):
name = models.CharField(max_length=30)
class Person(models.Model):
location = models.ForeignKey('Location')
class Team(models.Model):
locations = models.ManyToManyField('Location')
Я хочу, чтобы человек мог присоединиться к команде тогда и только тогда, когда местоположение этого человека находится в пределах набора местоположений этой команды. Я не знаю, как это сделать с обычными реляционными ограничениями, поэтому, насколько мне известно, я вынужден использовать триггеры или сигналы. Моя интуиция подсказывает, что я должен использовать триггеры, но я хочу узнать о лучших практиках.