Как получить поля внешнего ключа, используя обратный поиск в запросе Python / Django Ajax (JSON)

-2
---models.py---

class Products(models.Model):
    category = models.ForeignKey(Category)
    name= models.CharField(max_length=120, unique=True)
    slug = models.SlugField(unique = True)
    price = models.IntegerField(default=100)

class Image(models.Model):
    property = models.ForeignKey(Products, related_name='images')
    image = models.ImageField(upload_to='static/images/home',blank=True,null=True)

---views.py----

if request.is_ajax():
    query = Products.objects.all()
    p = Paginator(query, 4)
    pagedata = p.page(1)
    jsondata = serializers.serialize('json', pagedata.object_list)
    data = json.dumps({'id' : jsondata,})
    return HttpResponse(data, content_type='application/json')

теперь в данных ajax находятся (pk, category, name, slug, price)

но я также хочу, чтобы поле внешнего ключа, т.е. "изображение", использовало обратный поиск в ajax. Я уже пробовал список, но я хочу использовать обратный поиск.

  • 0
    Я пробовал список, но это не очень хороший метод. поэтому я ищу обратный поиск. В моем вопросе я хочу знать, что jsondata = serializers.serialize ('json', pagedata.object_list. ?????????), так что написать здесь, чтобы я также получил поля чужой таблицы
Теги:
python-2.7
django-queryset
django-ajax-selects

1 ответ

1
Лучший ответ

Вы не можете использовать serializers.serialize а затем json.dumps на свой материал. serializers.serialize в основном делает то же самое, что и json.dumps, чтобы преобразовать объект python в строку json. Вам нужно вручную создать словарь, содержащий все ваши данные. Возможно, вам придется перебирать список Product потому что нет способа запросить обратные отношения для каждого элемента за один проход.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню