лучший способ реализовать сценарий заказа в электронной коммерции и поддерживать обновление корзины в django - PullRequest
0 голосов
/ 07 января 2020

Я должен хранить заказы с отношением внешнего ключа к такому продукту

class Orders(models.Model):
    order_number = models.AutoField(primary_key=True)
    total_amount = models.DecimalField(max_digits=10, decimal_places=2)
    ordertime = models.DateTimeField(auto_now_add=True)
    customer= models.ForeignKey(Customer, on_delete=models.CASCADE)
    order_status = models.CharField(max_length=50)
    is_placed=models.BooleanField(default=False)

и иметь отношение к товару 'Проживание' следующим образом

class OrderAccommodation(models.Model):
    order=models.ForeignKey(Orders, on_delete=models.CASCADE)
    orderAccomodation = models.ForeignKey(Accommodation, on_delete=models.CASCADE)
    orderRoom = models.ForeignKey(Room, on_delete=models.CASCADE)
    roomQuantity=models.IntegerField(default=0)
    roomTotalPrice=models.DecimalField(max_digits=10, decimal_places=2)
    checkIn = models.DateField()
    checkOut = models.DateField()
    adult=models.IntegerField(default=0)
    child=models.IntegerField(default=0)
    customerFirstname=models.CharField(max_length=50, null=False, blank=False)
    customerLastname=models.CharField(max_length=50, null=False, blank=False)
    customerEmail=models.CharField(max_length=50, null=False, blank=False)
    customerMobile=models.CharField(max_length=50, null=False, blank=False)

Теперь сценарий Это как 1 заказ может иметь много продуктов размещения. когда пользователь добавляет размещение в заказ, я сохраняю это, а когда пользователь удаляет, я удаляю из заказа с идентификатором. Но этот заказ находится в корзине до тех пор, пока он не окончательный. Хорошо ли сохранять все данные в таблице заказов, пока он не оформлен и не оплачен? я должен создать новые таблицы для корзины или я делаю это правильно? например, просто поставить поле is_placed=false до тех пор, пока не будет размещен заказ

...