我有两个模型Property
和PropertyImage
。
Property保存所有数据,PropertyImage仅用于允许上载无限数量的图像。
class PropertyImage(models.Model):
property = models.ForeignKey(Property, related_name='images')
url = models.ImageField(upload_to=property_image_name)
我想要的是能够在Property
类的序列化中添加一个字段,以便它添加PropertyImage.url
元素。它不需要是url
所拥有的所有Property
元素,一个就足够了。我用这个来预览房产。
现在,我有:
results = Property.objects.raw(mysql_query)
markers = serializers.serialize('json',results)
当然PropertyImage
被遗漏了,我无法找到一种干净的方式将其添加到JSON并将其与它所属的Property
相关联。
答案 0 :(得分:1)
您可以继续model_to_dict()
:
import json
from django.forms.models import model_to_dict
results = Property.objects.raw(mysql_query)
data = []
for result in results:
model = model_to_dict(result)
model['image_url'] = model.property_image_set.first().url
data.append(model)
markers = json.dumps(data)
此处的image_url
字段设置为每个PropertyImage
实例的first()
url
&n; Property
字段值在results
查询集中。
另见:
希望有所帮助。