У меня есть модели:
class Position(models.Model):
name = models.CharField(max_length=50, unique=True, default=None, blank=False, null=False)
class Team(models.Model):
city = models.ForeignKey(City, null=True, on_delete=models.DO_NOTHING)
position = models.ForeignKey(Position, null=True, on_delete=models.CASCADE)
class Game(models.Model):
gameId = models.IntegerField(default=0, blank=False, null=False) # не id
team = models.ManyToManyField(to=Team)
class City(models.Model):
name = models.CharField(default=None, unique=True, max_length=50, blank=False, null=False)
В качестве аргументов в функцию передаются gameId, Position_name и City_name.
Мне нужны запросы или запросы с кодом (если нужны будут итерации по QuerySet):
1. чтобы проверить существует ли объект Team добавленный в м2м объекта Game и связанный с Position (ForeignKey)
2. получить этот объект
3. назначить ему City, если текущий City не совпадает с аргументом функции.
Надо сделать минимальным количеством запросов.