Как разместить данные, используя HyperlinkedRelatedField с json - PullRequest
0 голосов
/ 31 мая 2019

Итак, у меня есть 2 таблицы: games и genres.Они имеют отношения многие ко многим:

сериализует

class GenreSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Genre
        fields = '__all__'


class GameSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Game
        fields = '__all__'

Модели

class Genre(models.Model):
    """A Genre model"""
    name = models.CharField(max_length=100, unique=True)

class Game(models.Model):
    """A Company model"""
    name = models.CharField(max_length=100, blank=True, default='')

    genres = models.ManyToManyField(
        Genre,
        through='GameGenreXREF',
        through_fields=('game', 'genre')
    )

На мой взгляд, яиспользуйте viewsets.ModelViewSet.Итак, я получил эту ошибку:

Списки в настоящее время не поддерживаются при вводе HTML.

Так что после некоторого исследования мне сказали просто использовать json.Поэтому я попытался отправить:

Attempt 1. 
{
    "url": "http://127.0.0.1:8000/games/10/",
    "name": "Testings1",
    "companies": [],
    "genres": ["http://127.0.0.1:8000/genres/1/"],
    "formats": [],
    "platforms": []
}
Attempt 2. 
{
    "url": "http://127.0.0.1:8000/games/10/",
    "name": "Testings1",
    "companies": [],
    "genres": [1],
    "formats": [],
    "platforms": []
}
Attempt 3.
{
    "url": "http://127.0.0.1:8000/games/10/",
    "name": "Testings1",
    "companies": [],
    "genres": [{"name": "Action"}],
    "formats": [],
    "platforms": []
}

, но, похоже, ничего не работает.Как мне отправить эту информацию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...