Проверить, присутствует ли какой-либо объект из набора запросов в поле m2m - PullRequest
0 голосов
/ 13 июля 2020

У меня следующая модель:

class SalesProject(models.Model):

   
    activeCustomer = models.ManyToManyField(
        'CustomerInformation', through='ProjectActiveCustomer', related_name='activeCustomer')
    inactiveCustomer = models.ManyToManyField(
        'CustomerInformation', through='ProjectInactiveCustomer', related_name='inactiveCustomer')    

В моих представлениях я буду sh, чтобы применить следующие бизнес-логики c:

  1. Когда добавляя новое отношение customerInformation к activeCustomer m2m, проверьте, существует ли экземпляр, который я добавляю, в inactiveCustomer

  2. Если это правда, удалите customerInformation из inactiveCustomer m2m отношение

Данные, которые входят в мое представление, поступают в форме набора запросов, поэтому al go, который решает, должен иметь возможность принимать набор запросов и проверять, любой объекта в этом наборе запросов соответствует объектам в отношении inactiveCustomer m2m

1 Ответ

0 голосов
/ 13 июля 2020

Вы можете сделать что-то вроде:

class SalesProject(models.Model):
    [...]
    def add_customer(self, customer_information):
        if self.inactiveCustomer.filter(id=customer_information.id).exists():
            self.inactiveCustomer.remove(customer_information)
        self.customerInformation.add(customer_information)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...