0
我使用Django 1.7和REST framework,。我想更新購物車實例,然後創建新的訂單實例。Django從其他模型更新對象
#models.py
class Cart(models.Model):
to_be_deleted = models.BooleanField(default=False)
...
class Order(models.Model):
...
#views.py
class OrderBuyList(generics.ListCreateAPIView):
serializer_class = OrderBuySerializer
def create(self, request, *args, **kwargs):
data = request.data
# First mark cart instance to be deleted and then create an order instance
# Request can come from cart.
cart = Cart.objects.filter(id=data['id'],user_id=data['user_id'])
if cart:
cart[0].to_be_deleted = True
cart[0].save()
return generics.ListCreateAPIView.create(self, request, *args, **kwargs)
我覺得這不是寫這個邏輯的最好方法。由於以下情況可能發生,購物車被更新並且訂單實例未被創建。然後我不知道如何知道哪個購物車是not
轉換爲訂單。 有沒有更好的方法來實現這一目標?