0

與父模型串子模型的數據我有2種型號如下:如何獲得在Django的REST框架

# parent model 
class Klass(models.Model): 
    title = models.CharField(max_length=50) 
    description = models.CharField(max_length=500) 

# child model 
class KlassSettings(models.Model): 
    klass = models.OneToOneField(Klass, related_name='klass_settings', on_delete=models.CASCADE) 
    private = models.BooleanField(default=True, choices=(
    (True, 'private'), 
    (False, 'public'), 
)) 
    verify_required = models.BooleanField(default=True, choices=(
    (True, 'required'), 
    (False, 'not required'), 
)) 

我想Django的REST框架創建Klass。我使用以下串行:

class KlassSerializer(ModelSerializer): 
    url = HyperlinkedIdentityField(view_name='mainp-api:detail', lookup_field='pk') 
    class Meta: 
     model = Klass 
     fields = ('url', 'id', 'title', 'description') 

我的問題是:如何才能得到數據KlassSettings模型(2個BooelanFields),並保存呢?

回答

0

在這裏拋開任何關於模型設計的問題(可以私人和verify_required只是在克拉斯的領域?),我相信你在找什麼是serialzing a reverse relationship。您的最終解決方案看起來與您擁有的類似,但將在KlassSerializer中包含一個klass_settings字段並創建一個KlassSettingsSerializer類。