Несколько отношений "многие-ко-многим" через одну модель в Django проблема

у меня проблема, я не знаю как сделать несколько отношений многие-ко-многим через одну модель.

Это мои отношения с БД :

Архитектура Db

и это мой код, я хочу знать, правильно ли то, что я сделал или нет?

class Projects(models.Model):

  Project_name = models.CharField(max_length=50)
  Poject_key = models.CharField(max_length=50)
  CITools = models.ForeignKey(CITools,null=True,on_delete=models.CASCADE)

  UsersO = models.ManyToManyField(User,through='OwnerShips') # for user Ownerships
  UserF = models.ManyToManyField(User,through='Favorites') # for user Favorites

Это мой класс OwnerSHips :

class OwnerShips(models.Model):
  user = models.ForeignKey(User,on_delete=models.CASCADE)
  project = models.ForeignKey(Projects,on_delete=models.CASCADE)

А это мой любимый класс:

class Favorites(models.Model):
  user = models.ForeignKey(User,on_delete=models.CASCADE)
  project = models.ForeignKey(Projects,on_delete=models.CASCADE)

Не думаю, что вы можете использовать внешние ключи (владения и избранное) в Project до того, как эти классы будут созданы.

На самом деле я нашел решение, я использовал атрибут related_name, так что Django создал эти две таблицы автоматически

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