如何获得在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类。