Как получить доступ к атрибутам Foreignkey с помощью Django JQuery - PullRequest
0 голосов
/ 23 января 2012

Как получить доступ к другим атрибутам постороннего ключа, используя django.jQuery. Например, предположим, что для учителя ForeignKey в классе Classroom я хочу получить доступ к предмету учителя, квалификационным атрибутам в django change_form.html для модели Classroom, для выбранного учителя из выбранной опции тега select?

1 Ответ

0 голосов
/ 23 января 2012

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`
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...