Как создать отношения между 3 моделями в 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-save в модели ordered. Каждый раз, когда вы обновляете новое значение (товар, добавленный покупателем) в ordered_items (отношение "многие-ко-многим"), вы можете отправить письмо продавцу, связанному с этим покупателем. Эта часть рассылки будет определена внутри сигналов pre или post .

В файле views.py вы получите входные параметры следующим образом -:

  • seller_id
  • заказанный_элемент
  • buyer_id

Вы будете искать комбинацию seller_id и buyer_id с помощью оператора filter в модели Ordered и устанавливать ordered_item в этом поле. После этого будет вызвана функция сохранения модели, после чего сработает сигнал post_save и отправит письмо продавцу.

Для этого сценария будет 2 условия -:

  1. Либо вы создаете новое значение, если пользователь покупает свой первый товар.
  2. Покупатель добавляет еще один товар в корзину. В этом случае вы обновите существующее значение. В любом случае будет автоматически инициирована функция сохранения модели.
  3. .

Ссылка -:

Вернуться на верх