如何获得在Django的REST框架

问题描述:

与父模型串子模型的数据我有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),并保存呢?

在这里抛开任何关于模型设计的问题(可以私人和verify_required只是在克拉斯的领域?),我相信你在找什么是serialzing a reverse relationship。您的最终解决方案看起来与您拥有的类似,但将在KlassSerializer中包含一个klass_settings字段并创建一个KlassSettingsSerializer类。