如何在 Django 中创建 3 个模型之间的关系?
How to create relationships between 3 models in django?
我正在建立一个有 2 种用户类型的市场,即买家和卖家。
现在我想在买家、卖家和 OrderedItems 之间创建一个关系模型,以便卖家在买家订购商品后得到通知。
这是我制作的模型:
class Ordered(models.Model):
ordered_items = models.ManyToManyField(Cart)
seller = models.ForeignKey(SellerProfile, on_delete = models.SET_NULL, null = True)
buyer = models.ForeignKey(CustomerProfile, on_delete = models.CASCADE)
ordered_on = models.DateTimeField(auto_now_add = True)
但是我不知道如何在views.py
中实现这个
任何建议都会很有帮助
谢谢
根据当前模型关系,您可以使用 pre_save 或 post - 在订购模型上保存信号。每当您在 ordered_items(多对多关系)中更新新值(买家添加的项目)时,您都可以向与该买家链接的卖家发送邮件。该邮件部分将在 pre 或 post 信号内定义。
在views.py中你会得到如下输入参数-:
- seller_id
- ordered_item
- buyer_id
您将在 Ordered 模型中使用过滤语句搜索 seller_id 和 buyer_id 组合,并在该字段中设置 ordered_item。之后将调用模型保存功能,然后将触发 post_save 信号并将邮件发送给卖家。
这个场景会有2个条件-:
- 如果用户购买 his/her 第一件商品,您可以创建一个新值。
- 买家正在购物车中添加另一件商品。在这种情况下,您将更新现有值。
无论哪种情况,模型的保存功能都会自动启动。
参考-:
我正在建立一个有 2 种用户类型的市场,即买家和卖家。
现在我想在买家、卖家和 OrderedItems 之间创建一个关系模型,以便卖家在买家订购商品后得到通知。
这是我制作的模型:
class Ordered(models.Model):
ordered_items = models.ManyToManyField(Cart)
seller = models.ForeignKey(SellerProfile, on_delete = models.SET_NULL, null = True)
buyer = models.ForeignKey(CustomerProfile, on_delete = models.CASCADE)
ordered_on = models.DateTimeField(auto_now_add = True)
但是我不知道如何在views.py
中实现这个
任何建议都会很有帮助
谢谢
根据当前模型关系,您可以使用 pre_save 或 post - 在订购模型上保存信号。每当您在 ordered_items(多对多关系)中更新新值(买家添加的项目)时,您都可以向与该买家链接的卖家发送邮件。该邮件部分将在 pre 或 post 信号内定义。
在views.py中你会得到如下输入参数-:
- seller_id
- ordered_item
- buyer_id
您将在 Ordered 模型中使用过滤语句搜索 seller_id 和 buyer_id 组合,并在该字段中设置 ordered_item。之后将调用模型保存功能,然后将触发 post_save 信号并将邮件发送给卖家。
这个场景会有2个条件-:
- 如果用户购买 his/her 第一件商品,您可以创建一个新值。
- 买家正在购物车中添加另一件商品。在这种情况下,您将更新现有值。 无论哪种情况,模型的保存功能都会自动启动。
参考-: