Можно ли определить поле, которое автоматически увеличивается в пределах значения внешнего ключа?
Например, если мы определим модели компании и отдела в Django:
class Company(models.Model):
name = models.CharField(max_length=25)
class Department(models.Model):
company = models.ForeignKey(Company)
department_number = ...? # should start from 1 for each company
в чистой реализации SQL пара (company_id, Department_number) будет составным первичным ключом.
Я ищу решения в Django или SQL, которые безопасны (с точки зрения нескольких процессов создание отделов одновременно) и эффективно. Я использую MySQL, но сравнение с другими базами данных также приветствуется.