0

我有這些模型都具有PointField:如何用一個串行器使用DjangoRestFramework序列化多個模型?

class Place(models.Model): 
    title = models.CharField(max_length=75, verbose_name='Заголовок') 
    category = models.ForeignKey(PlaceCategory, verbose_name='Категория') 
    ... 
    point = geomodels.PointField(geography=True, blank=True, null=True) 
    ... 


class Event(models.Model): 
    title = models.CharField(max_length=75, verbose_name='Заголовок') 
    address = models.CharField(max_length=255, blank=True, null=True, verbose_name='Адрес') 
    city = models.ForeignKey(City, verbose_name='Город') 
    ... 
    point = geomodels.PointField(blank=True, null=True) 
    ... 


class Meeting(models.Model): 
    title = models.CharField(max_length=75) 
    participants = models.ManyToManyField(User, related_name='participating_meetings') 
    ... 
    point = geomodels.PointField(blank=True, null=True) 
    ... 

在項目中,我有/points API網址。通過這個網址,我想返回過濾的設置或所有的點在地圖上顯示它們。 我檢查了DRF文檔,有一個示例如何爲一個模型構建Serializer,但是如何爲這些多個模型構建API視圖?

+0

發表您的最佳拍攝製作序列化程序。 (不相關:你爲什麼使用第三方點字段而不是geodjango?) – e4c5

回答

0

這種用例是典型的你需要放棄默認自動生成的東西(序列化器/視圖)和滾動你自己的東西。我會自己收集數據,通過PointSerializer運行它們 - 可能是可選的 - 它將從Serializer繼承並返回結果。

+0

你可以給一個這樣的'PointSerializer'的片段嗎? –

相關問題