Обновление модели из другой модели в REST
Я хочу обновлять issold=True в модели квартиры, когда создается транзакция. Но я запутался, как это сделать в REST
serializers.py:
class ApartmentSerializer(serializers.HyperlinkedModelSerializer):
seller = serializers.ReadOnlyField(source='seller.username')
class Meta:
model = Apartment
fields = [
'url','seller','address','arena','price','description','timestamp'
]
class TransactionSerializer(serializers.HyperlinkedModelSerializer):
buyer = serializers.ReadOnlyField(source='buyer.username')
class Meta:
model = Transaction
fields = [
'id','buyer','apartment','timestamp'
]
views.py:
class ApartmentViewset(viewsets.ModelViewSet):
queryset = Apartment.objects.filter(issold=False).order_by('-timestamp')
serializer_class = ApartmentSerializer
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
def perform_create(self, serializer):
serializer.save(seller=self.request.user)
class TransactionViewset(viewsets.ModelViewSet):
queryset = Transaction.objects.all().order_by('-timestamp')
serializer_class = TransactionSerializer
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
def perform_create(self, serializer):
serializer.save(buyer=self.request.user)
Я исправил это способом
obj = serializer.save(...)
obj.apartment.issold = True
obj.apartment.save()