Обновление модели "многие ко многим" в Django Rest Framework

У меня есть следующие модели:

class Settings(models.Model):
    ...
    category = models.ManyToManyField(
        Category)
    hsk = models.ManyToManyField(
        HSKLevels)


    class Meta:
        db_table = 'settings'

Я могу довольно легко обновить мою главную таблицу через REST.

Проблема в том, что я не могу понять, как обновить таблицу hsk с помощью REST.

class HSKLevels(models.Model):
    level = models.PositiveIntegerField(primary_key=True)
    label = models.CharField(max_length=50)
    value = models.CharField(max_length=50)

    class Meta:
        db_table = 'hsk_levels'

Это мой сериализатор:

class SettingsSerializer(serializers.ModelSerializer):
    class Meta:
        model = Settings
        fields = ["user","traditional","category", "hsk","audio_download","show_read","show_pinyin","char_size","pinyin_size","start_date","end_date","speed","volume", "char_colors", "pinyin_colors", "global_dash","first_tone","second_tone","third_tone","fourth_tone","fifth_tone","word_selection","limit_selection","hsk_selected","sentence_selection","mem_limit_selection","show_outline","show_character","show_hint_after_miss"]
        depth = 1

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

Итак, у меня будет такой JSON объект (или, как вариант, массив, я не привередлив):

  hsk: {
    hsk1: true,
    hsk2: true,
    hsk3: true,
    hsk4: true,
    hsk5: true,
    hsk6: true,
    hsk7: true,
    hsk8: true,
    hsk9: true,
    hsk9plus: true,
  },

И если одно из этих значений ложно или отсутствует, оно удаляется.

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