模型.py
models.py
class Product(models.Model):
code = models.CharField(max_length=50, default=None, null=True, blank=True, unique=True)
name = models.CharField(max_length=100)
category_id = models.ForeignKey(category, on_delete=models.CASCADE)
size_id = models.ForeignKey(size, on_delete=models.CASCADE)
cost = models.IntegerField()
tax_id = models.ForeignKey(Tax, on_delete=models.CASCADE)
price = models.IntegerField()
class wishlist(models.Model):
product_id = models.ForeignKey(Product, on_delete=models.CASCADE,
error_messages = {'unique': 'This Product is already in exist',})
user_id = models.ForeignKey(Account, on_delete=models.CASCADE)
create_at = models.DateTimeField(auto_now_add=True)
我正在尝试获取所有产品,例如product.objects.all(),并检查购物车和愿望清单上是否有可用的特定产品
您的模型设置错误。
一份愿望清单可以分配给一位所有者(用户)。是的,正确使用
ForeignKey
ForeignKey
(与用户的关系相同),因此您的愿望清单不能包含多个产品。
相反,您需要使用多对多关系。因为一个心愿单可以容纳多个产品,而一个产品可以被多个心愿单持有。
class wishlist(models.Model):
product_id = models.ManyToManyField(Product)
user_id = models.ForeignKey(Account, on_delete=models.CASCADE)
create_at = models.DateTimeField(auto_now_add=True)