首页 > 解决方案 > GIS - 我可以在 1 个模型中有多个 geo_fields(点、多边形、线)然后用 DRF 序列化吗?

问题描述

如果我有 1 个模型在(点、多边形和线)中有 3 个不同的 geo_fields,我可以用 django-rest-framework-gis 序列化所有这些吗?

我的模型:

class Job(BaseModel):
    name = models.CharField(max_length=64)
    desc = models.CharField(max_length=64)

    loc_poly = models.PolygonField(blank=True)
    loc_polyline = models.LineStringField(blank=True)
    loc_point = models.PointField(blank=True)

    user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True)

我可以通过执行以下操作进行序列化:

class JobSerializer(GeoFeatureModelSerializer):

    class Meta:
        model = Job
        geo_field = ("loc_point", "loc_polyline", "loc_poly")
        fields = ('__all__',)

基本上我可以让 geo_field 成为多个地理字段吗?或者这只是1?

标签: djangodjango-rest-frameworkgisdjango-rest-framework-gis

解决方案


推荐阅读