12
In both the approach, you are trying to update the Area
object and not the AreaPoint
object.
Here is how you could do it using both approaches:
1st Approach: using update
method:
# here is what you are doing:
Area.objects.filter(id=304).update(area_name="today is 1",
description="today is 1",
areapoint__x_axis=111,
areapoint__y_axis=222)
Above will return an object of Area
and since there are no fields areapoint__x_axis
etc. it throws error.
What you could do is filter on AreaPoint
instead and update it:
AreaPoint.objects.filter(area_id=304).update(x_axis=111, y_axis=222)
2nd Approach:
obj = Area.objects.get(id=304)
obj.areapoint.x_axis = 100
obj.areapoint.y_axis = 200
# save obj.areapoint instead
obj.areapoint.save()
3rd Approach:
areapoint = AreaPoint.objects.get(area_id=304)
areapoint.x_axis = 100
areapoint.y_axis = 200
areapoint.save()
Source:stackexchange.com