我阅读了 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')
当且仅当该人的位置在该团队的一组位置内时,我希望该人能够加入团队。我不知道如何使用正常的关系约束来做到这一点,所以据我所知,我被迫使用触发器或信号。我的直觉说我应该使用触发器,但我想知道最佳实践。