Django Model Auto Increment Primary Key Based on Foreign Key

Я пытаюсь понять, как разложить две мои модели Django так, чтобы при сохранении новой модели в базе данных ее первичный ключ увеличивался так, чтобы он был следующим по значению для всех записей с тем же внешним ключом.

Это очень похоже на этот вопрос, но мне интересно, как это сделать в Django. Вот выдержка из вопроса, которая демонстрирует похожую ситуацию:

id | job_id | title
0     1        hi
1     1        hello
2     1        goodbye
0     2        hi
1     2        hello

Я знаю, что в модели Django нельзя иметь несколько первичных ключей и можно использовать unique_together, но в документации сказано, что используется эквивалентный UNIQUE оператор в CREATE операторах. Будет ли

class ModelA(models.Model):
   key = models.PositiveIntegerField(primary_key = True)
   fk = models.ForeignKey(ModelB)

   def Meta(self):
      unique_together = ("key", "fk")

в моделях работать с этим ответом для достижения того, что я ищу? Отношения между моделями - это одна ModelA, имеющая много ModelB, но каждая ModelB, имеющая только одну ModelA.

10
задан Community 23 May 2017 в 12:09
поделиться