Цель: добавить объект в поле ManyToMany другой модели данных.
Модель данных с полем ManyToMany:
class ObservedDataModel(models.Model):
domain_objects = models.ManyToManyField(DomainNameModel, blank=True)
Следующий код работает, но идентификатор постороннего объекта жестко запрограммирован ((ObservedDataModel, id=2)
):
class DomainSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = DomainNameModel
fields = ('url', 'id', 'name')
def create(self, validated_data):
domain_obj = DomainNameModel.objects.create(name=validated_data['name'])
observed_data_object = get_object_or_404(ObservedDataModel, id=2) # TODO !!!!!!
observed_data_object.domain_objects.add(domain_obj)
return domain_obj
Чтобы позволить пользователю установить (ObservedDataModel, id=X)
, я попытался отправить запрос {'name': 'apple.com', 'observeddata': 2}
, но поле validated_data
не содержит переменной observeddata
.
Итак, как я могу добавить пользовательское (не модельное) поле в переменную validated_data
?