0

J'ai 2 modèles comme ci-dessous:Comment obtenir des données pour le modèle de l'enfant avec le modèle parent sérialiseur dans django cadre reste

# 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'), 
)) 

Je veux créer Klass avec Django Rest Framework. Je l'utilise ci-dessous sérialiseur:

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

Ma question est: Comment puis-je obtenir des données pour le modèle KlassSettings (2 BooelanFields) et enregistrez-?

Répondre

0

En mettant de côté toutes les questions de conception de modèle ici (les champs private et verify_required peuvent-ils être des champs dans Klass?), Je crois que ce que vous cherchez est serialzing a reverse relationship. Votre solution finale ressemblera à ce que vous avez, mais inclura un champ klass_settings dans le classeur KlassSerializer et créera une classe KlassSettingsSerializer.