【问题标题】:how to make shopping cart using django如何使用 django 制作购物车
【发布时间】:2020-08-05 18:07:42
【问题描述】:

我正在制作一个有两个类模型的购物车,一个用户可以订购多个产品 我使用了多对多关系。但我面临一些问题,比如如果两个用户订购了相同的产品,那么最后一个用户选择的数量将显示在两个用户的订单中。很多时候它默认显示用户购物车中的所有订单。 请告诉编写这些模型的正确方法。所以每个用户购物车都不会影响其他人

class OrderItem(models.Model):
    id = models.AutoField(primary_key=True)
    product = models.OneToOneField(Product, on_delete=models.SET_NULL, null=True)
    is_ordered = models.BooleanField(default=False)
    date_added = models.DateTimeField(auto_now=True)
    qty = models.IntegerField(default=1)
    def __str__(self):
        return self.product.Productname

class Cart(models.Model):
    owner = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
    is_ordered = models.BooleanField(default=False)
    items = models.ManyToManyField(OrderItem, default=None, blank=True)

【问题讨论】:

    标签: django python-3.x sqlite django-models relationship


    【解决方案1】:

    对于给定的产品,您应该可以有超过 1 个订单。 所以 OrderItem 应该有一个对 Product 而不是 onetoone 的 FK。

    我认为您不会在多个购物车中拥有相同的订单,因此您可能需要从 OrderItem 到用户购物车的单个 FK。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      • 1970-01-01
      • 1970-01-01
      • 2020-11-27
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多