如何使用django.jQuery访问foreignkey的其他属性。例如,假设对于模型课堂中的foreignKey老师,我希望从选择标签的选定选项中为所选教师访问django change_form.html中教师的主题,资格属性,以及所选教师?
答案 0 :(得分:0)
jQuery无法直接访问Django ORM。获取有关外键的特定选定值的更多数据的唯一方法是向视图提交AJAX请求,该视图将在JSON响应中返回该数据:
<强> views.py 强>
from django.core import serializers
from django.http import HttpResponse, HttpResponseBadRequest
def ajax_get_mymodel(request):
id = request.GET.get('id')
if id is not None:
mymodel = get_object_or_404(MyModel, id=id)
data = serializers.serialize('json', [mymodel])
return HttpResponse(data, mimetype='application/json')
else:
return HttpResponseBadRequest()
<强>的script.js 强>
$('#id_mymodel_field').change(function(){
var selected = $(this).val();
$.getJSON('/path/to/ajax/view/', { id: selected }, function (data, jqXHR) {
// do something with `data`
});
});