Я хочу обновить атрибут экземпляра, используя Django Modelseriallizer. Я хочу изменить только атрибут tel в модели Activity. но мой код не работает.
это модель
class Activity(models.Model):
num = models.AutoField(primary_key=True) #번호
name = models.CharField(max_length=100, blank=True, null=True)
eventStartDate = models.CharField(max_length=100, blank=True, null=True)
eventEndDate = models.CharField(max_length=100, blank=True, null=True)
eventTime = models.TextField(max_length=1000, blank=True, null=True)
eventPlace = models.TextField(max_length=1000, blank=True, null=True)
discription = models.TextField(max_length=1000, blank=True, null=True)
longitude = models.DecimalField(max_digits=20, decimal_places=12, blank=True, null=True)
latitude = models.DecimalField(max_digits=20, decimal_places=12, blank=True, null=True)
tel = models.CharField(max_length=255, blank=True, null=True)
img = models.CharField(max_length=255, blank=True, null=True)
grade = models.IntegerField(default=0,blank=True, null=True)
это представление
class ActivityList(APIView):
permission_classes = (permissions.AllowAny,)
def get(self, request):
data = Activity.objects.all()
serializer = ActivitySerializer(data, many=True)
return Response({"ActivityList":serializer.data})
это сериализатор
class ActivitySerializer(serializers.ModelSerializer):
tel = serializers.CharField()
def update(self, instance, validated_data):
instance.tel = 'new tel number'
instance.save()
return instance
class Meta:
model = Activity
fields = ('num', 'name', 'eventStartDate', 'eventEndDate', 'eventTime', 'eventPlace', 'discription', 'longitude', 'latitude', 'tel', 'img', 'grade')
# fields = '__all__'