Hi, I am working with a Django rest api project. SO i need some help. I cant create a update for NESTED SERIALIZER. models.py
from django.db import models from datetime import datetime from django.contrib.auth.models import User class TimesheetResponse(models.Model): date = models.DateField("Date") user = models.ForeignKey(User, default=1, on_delete=models.CASCADE) date_created = models.DateField(auto_now_add=True) date_last_updated = models.DateField(auto_now=True) def __str__(self): return '{} {}'.format(self.user, self.date, self.date_created, self.date_last_updated) class SubjectType(models.Model): name = models.CharField(max_length=50) def __str__(self): return '{}'.format(self.name) class Subject(models.Model): name = models.CharField(max_length=50) subject_type = models.ForeignKey(SubjectType, default=1, on_delete=models.CASCADE, related_name='subjects') def __str__(self): return '{} {}'.format(self.name, self.subject_type) class TimesheetResponseUnit(models.Model): timesheet_response = models.ForeignKey(TimesheetResponse, default=1, on_delete=models.CASCADE, related_name='timesheet_response_units') subject = models.ForeignKey(Subject, default=1, on_delete=models.CASCADE, related_name='timesheet_response_units') time_spent = models.IntegerField(default=0) comments = models.TextField(max_length=255) def __str__(self): return '{} {}'.format(self.subject, self.time_spent) serializer.py from rest_framework import serializers from timesheet.models import TimesheetResponse, TimesheetResponseUnit, SubjectType, Subject class SubjectSerializer(serializers.ModelSerializer): class Meta: model = Subject fields = ['name', 'subject_type'] class SubjectTypeSerializer(serializers.ModelSerializer): class Meta: model = SubjectType fields = ['name'] extra_kwargs = {'id': {'read_only': True}} class TimesheetResponseUnitSerializer(serializers.ModelSerializer): class Meta: model = TimesheetResponseUnit fields = ['id', 'time_spent', 'comments', 'subject'] # extra_kwargs = {'id': {'read_only': True}} class TimesheetResponseSerializer(serializers.ModelSerializer): timesheet_response_units = TimesheetResponseUnitSerializer(many=True) class Meta: model = TimesheetResponse fields = ['date', 'user', 'timesheet_response_units'] extra_kwargs = {'id': {'read_only': True}} def create(self, validated_data): timesheet_response_units = validated_data.pop('timesheet_response_units') timesheet_response = super(TimesheetResponseSerializer, self).create(validated_data) for timesheet_response_unit_data in timesheet_response_units: timesheet_response_unit = TimesheetResponseUnit(**timesheet_response_unit_data, timesheet_response=timesheet_response) timesheet_response_unit.save() return timesheet_response def update(self, instance, validated_data): .... Any idea how to build a def update? -- 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 django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/4a7f8032-961a-4e84-9ebb-4464ff132aba%40googlegroups.com.