【发布时间】:2018-06-23 18:15:55
【问题描述】:
我正在尝试使用 AJAX 向 DRF 发出 POST 请求。
我的一个字段是一个多选框。我似乎找不到使请求正常工作的方法。
<select class="full-width" data-init-plugin="select2" id='roles' name="roles" multiple>
{% for role in roles %}
<option value="{{role.id}}">{{role.name}}</option>
{% endfor %}
</select>
我已尝试发布如下所示的整个选择框。
var roles = $('#roles').val();
我也尝试过发布一组值。
var roles = $('#roles').find('option:selected').map(function(){return $(this).val()}).get();
我的 AJAX 调用如下所示:
$.ajax({
method: "POST",
url: "/v1.0/relationships/" + url,
data: {roles: roles}
)
我的 API 视图如下所示:
class RelationshipSingle(mixins.RetrieveModelMixin, mixins.UpdateModelMixin, mixins.DestroyModelMixin, generics.GenericAPIView):
"""
/relationship/{id}
Method Action
GET Return details of relationship with ID {id}.
POST Invalid option.
PATCH Edit the relationship.
DELETE Delete the relationship.
"""
queryset = Relationship.objects.all()
serializer_class = RelationshipSerializer
def get(self, request, *args, **kwargs):
return self.retrieve(request, *args, **kwargs)
def patch(self, request, *args, **kwargs):
return self.update(request, *args, **kwargs)
def delete(self, request, *args, **kwargs):
return self.destroy(request, *args, **kwargs)
我的序列化器如下所示:
class RelationshipSerializer(serializers.ModelSerializer):
class Meta:
model = Relationship
fields = '__all__'
【问题讨论】:
-
对不起,我指的是
标签: jquery python ajax django django-rest-framework