2012-09-08 20 views
1

我想使用Django Tastypie允許一個實現者POST/PUT數據來創建深層次相關的模型。因此,POST這樣的事情(如JSON)創建,讓我們把它叫做斑點,其中有許多FOOS,各自有許多酒吧(兩種型號以及):Django Tastypie創建模型幾個關係深

{"foos":[ 
    {"bars":[ 
     {"baz":"boo"} 
    ]} 
]} 

模型關係都在爲我設置models.py和resources.py腳本,以便Blob有很多Foos和Foos有很多條。問題是,在這樣做的時候,Tastypie似乎只用了obj_create做了一個深層次的相關字段,所以Bars永遠不會被創建,並且如果該字段是必需的或者沒有任何東西被存儲,它就會返回一個錯誤,噸。我如何着手讓Tastypie遍歷關卡?作爲一個便箋,我知道我可以使用單獨的Bar端點首先創建那些端點,然後使用給定的Foo傳遞資源URI。但是爲了爭辯,讓我們說這是不可能的,我需要將代表Blob的整個數據作爲單個POST。

回答

0

我猜Tastypie不支持這種開箱即用的關係。這可能是因爲你經常不需要這麼深的嵌套。

你可以讓他們在模型中,但如果你想以這種方式公開它,那麼如何讓資源是平坦的。鑑於您可以使用相關模型的屬性,例如some_field = fields.CharField(attribute = 'relatedmodel__field')和那些我相信會被保存。

這樣你的API更好,你仍然得到你所需要的。