-1
---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 中使用反向查找的外键字段,即“图像”。我已经尝试过列表,但我想使用反向查找..

4

1 回答 1

1

你不能在你的东西上使用serializers.serialize然后。基本上做同样的事情,将 python 对象转换为字符串。您需要做的是手动构建一个包含所有数据的字典。您可能需要遍历列表,因为无法在一次运行中查询每个项目的反向关系。json.dumpsserializers.serializejson.dumpsjsonProduct

于 2015-10-30T19:52:28.923 回答