Мне нужно создать и сохранить несколько мест с указанными ресторанами в одном запросе. Я использую Bul_Create, но он не сохраняет. Обратите внимание на место и сохраняю только ресторан без FK
Я успешно создалотдельно в цикле и сохраняя их один за другим, что приводит к слишком большому количеству запросов к БД, у поля места есть идентификатор как автоинкремент
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
def __str__(self):
return "%s the place" % self.name
class Restaurant(models.Model):
place = models.OneToOneField(
Place,
on_delete=models.CASCADE,
primary_key=True,
)
serves_hot_dogs = models.BooleanField(default=False)
serves_pizza = models.BooleanField(default=False)
## what I tried
restaurants = []
place1 = place(name = 'name1',address ='address1')
restaurant1 = restaurant(place=place1, serves_hot_dogs=True,serves_pizza=False)
restaurants.append(restaurant1)
place2 = place(name = 'name1',address ='address1')
restaurant2 = restaurant(place=place1, serves_hot_dogs=True,serves_pizza=False)
restaurants.append(restaurant2)
restaurant.bulk_create(restaurants,ignore_conflicts=True)
ожидаемый результат :: получит объект ресторана с местом fk в нем актуальнымрезультат :: единственный ресторан без места размещения FK