我正在使用JavaScript客戶端編寫在線遊戲,並且我使用Django REST framework
作爲後端。我已經爲它寫了一個任務系統。Django REST框架序列化模型組合
我的任務對象是從django model QuestTemplate
動態創建的,其中存儲了諸如Quest desription和titel(每個用戶都相同的部分)等信息;另一個model QuestHistory
,我把關於某個用戶的任務狀態的信息放在這裏:所以它有user
和completed
等字段。他們也有一些嵌套的對象:任務和獎勵,這些都是以類似於Quest對象的方式創建的。
我添加了一個純Python類Quest,它結合了這些模型的所有字段,然後我爲這個類寫了一個Serializer。其缺點是,我必須在QuestSerializer
我已經看到了ModelSerializer
你可以使用inner class Meta
,你specifiy模型,並再次定義所有字段。是否還有一種方法可以用普通的python類來代替模型(使用我的Quest類)。 http://www.django-rest-framework.org/api-guide/serializers#specifying-nested-serialization
或者:
是否可以指定不止一個模型更在這個內部類,因此,它需要從我的model QuestTemplate
和其他一些字段的字段從我model QuestHistory
?
(我也不知道這個結構是否有意義,在這裏問一下:django models and OOP design)