Я читал о сигналах 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')
Я хочу, чтобы человек мог присоединиться к команде в том и только в том случае, если это место находится в пределах этого набора команд. Я не знаю, как это сделать с нормальными реляционными ограничениями, насколько я знаю, я вынужден использовать триггеры или сигналы. Моя кишка говорит, что я должен использовать триггеры, но я хочу знать лучшие практики.