Django перезаписывает объекты вместо того, чтобы создавать новые

У меня есть несколько моделей - Model1, Model2, Model3 и Model4 - определенных в файле models.py:

class Model1(models.Model):
   field1 = db.CharField(max_length=10)

class Model2(models.Model):
   field2 = db.CharField(max_length=10)

class Model3(models.Model):
   field3 = db.CharField(max_length=10)

class Model4(models.Model):
   m1 = db.ForeignKey('application.Model1', on_delete=models.CASCADE)
   m2 = db.ForeignKey('application.Model2', on_delete=models.CASCADE)
   m3 = db.ForeignKey('application.Model3', on_delete=models.CASCADE)

   class Meta:
      unique_together = (('m1', 'm2', 'm3'),)

Когда я хочу создать новую Model4 используя объекты Model1, Model2, Model3 из базы данных Django переопределяет Model4 содержит те же ключи Model1 и Model3, но Model2 полностью отличается. например:

У меня есть несколько моделей4:

при pk = 1: m1 = 1, m2 = 1, m3 = 1

при pk = 2: m1 = 1, m2 = 2, m3 = 2

Когда я хочу добавить новую Модель4 со значениями:

m1 = 1, m2 = 10, m3 = 1

Затем Django не создает новый (однако новый первичный ключ создается), а переопределяет Model4 с pk = 1. Что здесь происходит? Кто-нибудь может мне помочь?

Заранее большое спасибо :D.

Вернуться на верх