Я создаю API в Django Rest Framework, и у меня проблема с отношением ManyToMany.
Я пытаюсь создать фильм и назначить ему жанр (отношение ManyToMany). между фильмом и жанром).
Вот мои модели:
{
"id": 425,
"adult": false,
"backdrop_path": "/kK5OeulwVDniPgjNOGHvzcORzdG.jpg",
"budget": 59000000,
"homepage": "http://www.iceagemovies.com/films/ice-age",
"original_language": "en",
"original_title": "Ice Age",
"overview": "With the impending ice age almost upon them, a mismatched trio of prehistoric critters – Manny the woolly mammoth, Diego the saber-toothed tiger and Sid the giant sloth – find an orphaned infant and decide to return it to its human parents. Along the way, the unlikely allies become friends but, when enemies attack, their quest takes on far nobler aims.",
"poster_path": "/stQoHvo0q6ZcEkji2Z1wlAxKnDq.jpg",
"release_date": "2002-03-10",
"revenue": 383257136,
"runtime": 81,
"status": "Released",
"tagline": "They came. They thawed. They conquered.",
"title": "Ice Age",
"genres": [
{
"id": 16
},
{
"id": 35
},
{
"id": 10751
},
{
"id": 12
}
]
}
{
"genres": [
{
"id": [
"genre with this id already exists."
]
},
{
"id": [
"genre with this id already exists."
]
},
{
"id": [
"genre with this id already exists."
]
},
{
"id": [
"genre with this id already exists."
]
}
]
}
РЕДАКТИРОВАТЬ:
редактировать на сайте администратора
я редактировал в сайт администратора, добавьте, удалите жанр, чтобы фильм существовал, и сохраните, но он не сохраняется и база данных не изменяется
Я создаю API в Django Rest Framework, и у меня проблема с отношением ManyToMany. Я пытаюсь создать фильм и назначить ему жанр (отношение ManyToMany). между фильмом и жанром). Вот мои модели: [code]class Genre(models.Model): id = models.IntegerField(primary_key=True) name = models.CharField(null=False,blank=False,max_length=50)
genresInstances = [] for genre in genres_data: genresInstances.append(Genre.objects.get(pk = genre['id'])) movie = Movie.objects.create(**validated_data) movie.genre.set(genresInstances) return movie [/code] и мои наборы представлений: [code]class MovieViewSet(viewsets.ModelViewSet): queryset = Movie.objects.all() serializer_class = MoviesSerializer [/code] Когда я пытаюсь создать новый фильм с этим телом запроса (жанры у меня уже созданы): [code]{ "id": 425, "adult": false, "backdrop_path": "/kK5OeulwVDniPgjNOGHvzcORzdG.jpg", "budget": 59000000, "homepage": "http://www.iceagemovies.com/films/ice-age", "original_language": "en", "original_title": "Ice Age", "overview": "With the impending ice age almost upon them, a mismatched trio of prehistoric critters – Manny the woolly mammoth, Diego the saber-toothed tiger and Sid the giant sloth – find an orphaned infant and decide to return it to its human parents. Along the way, the unlikely allies become friends but, when enemies attack, their quest takes on far nobler aims.", "poster_path": "/stQoHvo0q6ZcEkji2Z1wlAxKnDq.jpg", "release_date": "2002-03-10", "revenue": 383257136, "runtime": 81, "status": "Released", "tagline": "They came. They thawed. They conquered.", "title": "Ice Age", "genres": [ { "id": 16 }, { "id": 35 }, { "id": 10751 }, { "id": 12 }
] } [/code] он возвращается следующим образом: [code]{ "genres": [ { "id": [ "genre with this id already exists." ] }, { "id": [ "genre with this id already exists." ] }, { "id": [ "genre with this id already exists." ] }, { "id": [ "genre with this id already exists." ] } ] } [/code] [b]РЕДАКТИРОВАТЬ:[/b] редактировать на сайте администратора я редактировал в сайт администратора, добавьте, удалите жанр, чтобы фильм существовал, и сохраните, но он не сохраняется и база данных не изменяется
Мне нужно построить таблицы как на картинке, получается очень сложная структура, где я понимаю какие связи нужно использовать, но не понимаю как это сделать
пример картинки
class ChampionshipsTable(Base):
__tablename__ = championships
Мне нужно построить таблицы как на картинке, получается очень сложная структура, где я понимаю какие связи нужно использовать, но не понимаю как это сделать
пример картинки
class ChampionshipsTable(Base):
__tablename__ = championships
Как мне сериализовать поле для многих ко многим в список чего-то и вернуть их через структуру отдыха? В моем примере ниже я пытаюсь вернуть пост вместе со списком тегов, связанных с ним.class post(models.Model):
tag = models.ManyToManyField(Tag)...
Я работаю над представлением Django REST Framework, использующим аутентификацию JWT. Я пытаюсь передать номер телефона и пароль представлению вместо имени пользователя. Вот мой код:
У меня есть класс DRF ModelSerializer, который сериализует Order модель. В этом сериализаторе есть поле:
num_modelA = serializers.SerializerMethodField()
`
def get_num_modelA(self, o):
r = ModelA.objects.filter(modelB__modelC__order=o).count()...