簡體   English   中英

如何在Django Rest框架中使用父模型序列化器獲取子模型的數據

[英]How to get data for child model with parent model serializer in django rest framework

我有以下兩種型號:

# 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 Framework創建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僅僅是Klass中的字段?),我相信您正在尋找的是序列化反向關系 您的最終解決方案將與您擁有的解決方案相似,但將在klass_settings中包含一個klass_settings字段並創建一個KlassSettingsSerializer類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM