如何使用django jQuery访问foreignkey的属性

时间:2012-01-23 09:54:39

标签: jquery django

如何使用django.jQuery访问foreignkey的其他属性。例如,假设对于模型课堂中的foreignKey老师,我希望从选择标签的选定选项中为所选教师访问django change_form.html中教师的主题,资格属性,以及所选教师?

1 个答案:

答案 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`
    });
});