Обновление модели "многие ко многим" в 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,
},
И если одно из этих значений ложно или отсутствует, оно удаляется.