如何在 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个条件-:

  1. 如果用户购买 his/her 第一件商品,您可以创建一个新值。
  2. 买家正在购物车中添加另一件商品。在这种情况下,您将更新现有值。 无论哪种情况,模型的保存功能都会自动启动。

参考-: