My requirement - I have two models TravelReq and TravelReqDetails as below

class TravelReq(models.Model): 
    empid= models.CharField(max_length=7) 
    startdate= models.DateField()
    enddate= models.DateField()
    remarks= models.CharField(max_length=30)
    missionname= models.CharField(max_length=30)
    def __str__(self):
        return str(self.id)
class TravelReqDetails(models.Model):
     travelReqID = models.ForeignKey(TravelReq ,related_name  = 'req_details' , 
on_delete=models.CASCADE );
     travelDate= models.DateField()
     lfrom = models.CharField(max_length=30)
     to= models.CharField(max_length=30)
     remarks = models.CharField(max_length=30)
def __str__(self):
    return str(self.id)

My serailizer

from  .models import TravelReq ,TravelReqDetailsfrom rest_framework import 
serializers
class TravelReqSerializer(serializers.ModelSerializer):
    class Meta:
        model = TravelReq
    fields = ('empid' ,     'startdate' ,   'enddate' , 'remarks' , 
'missionname' ,'req_details')code here

My view

from .models import TravelReq from rest_framework import viewsetsfrom 
.serializers import TravelReqSerializer 

class TravelReqViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows users to be viewed or edited.
    """
    queryset = TravelReq.objects.all() 
    serializer_class = TravelReqSerializer

*From Angular I will be receiving below JSON as POST / PUT request . What 
is the best way to insert the master(TravelReq) and child records 
(TravelReqDetails) from a single serializer. please advice. If this is not 
the best approach ,please suggest a better / standard approach*

[
    {
        "empid": "32432",
        "startdate": "2017-11-16",
        "enddate": "2018-03-17",
        "remarks": "asd",
        "missionname": "asd",
        "req_details": [
            {
                "id": 1,
                "travelDate": "2017-07-18",
                "lfrom": "indiaemarks",
                "to": "pakistan",
                "remarks": "r",
                "travelReqID": <<need to  get from parent travel request>> 
            },
            {
                "id": 2,
                "travelDate": "2018-04-02",
                "lfrom": "pakistan",
                "to": "india",
                "remarks": "rerutn remarks",
                "travelReqID":  <<need to  get from parent travel request>>
            }
        ]
    },

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/816ab639-a82d-451a-9868-58ef057205b8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to