繁体   English   中英

用Django序列化两个不同的模型

[英]serializing two different models with django

我有两个模型PropertyPropertyImage Property保存所有数据,PropertyImage仅用于允许无限数量的图像上载。

 class PropertyImage(models.Model):
     property = models.ForeignKey(Property, related_name='images')
     url = models.ImageField(upload_to=property_image_name)

我想要的是能够向Property类的序列化添加一个字段,以便它将添加PropertyImage.url元素。 它不一定是Property拥有的所有url元素,一个就足够了。 我正在用它来预览属性。

我现在有:

results = Property.objects.raw(mysql_query) 
markers = serializers.serialize('json',results)

当然, PropertyImage被遗漏了,我找不到一种干净的方法将其添加到JSON并将其与它所属的Property相关联。

您可以继续进行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字段,它设置为results queryset中每个Property实例的first() PropertyImageurl字段值。

另请参阅:

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM