Как сделать пост-вызов в Django, когда ваши модели много-ко-многим?

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

class School(models.Model):
    name             = models.CharField(unique=True, max_length=30, blank=True)
    teachersAtSchool = models.ManyToManyField('Teacher',  blank=True)

class Teacher(models.Model):
    account           = models.ForeignKey(Account, default=1, on_delete=models.SET_DEFAULT)
    schoolsTeachingAt = models.ManyToManyField('School', blank=True)

Я отправляю следующий JSON:

{
"name": "school Name",
"teachersAtSchool": 0
}

и получаем следующий результат:

  {
  "id": 13,
  "name": "school Name",
  "teachersAtSchool": []
  }

Я проверил, что в базе данных действительно есть учителя, которых я могу получить с помощью моего GET-вызова. Я даже пробовал с разными идентификаторами, но получил тот же результат. Возможно, это что-то очень простое, чего я просто не понимаю. Пожалуйста, помогите мне.

Приветствует

@simple_code сказал: "Я не думаю, что вам нужна depth=1. Так как ModelSerializers по умолчанию делают первичные ключи. - simple_code"

Это привело к возврату по умолчанию к id, что и было решением.

Я нашел этот ответ, следуя их предложению "Также попробуйте поиграть с сериализатором самостоятельно, потому что входной json, который он ожидает, такой же, как и выходной json, который он создает. Так что если у вас есть действующая школа с учителями, напечатайте то, что выведет сериализатор. Это даст вам правильный вход для сериализатора. - simple_code" и заметив, что json, который я получил обратно, был целым сериализованным классом

Спасибо всем за помощь и предложения. Надеюсь, этот пост кому-нибудь поможет.

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