Я пытаюсь обрабатывать запросы POST и GET моей модели SalesProject, в которой есть поле M2M для модели CustomerInformation, с промежуточной моделью ProjectCustomer. Мне интересно, есть ли у меня способы создать новый экземпляр SalesProject и добавить соответствующие экземпляры CustomerInformation в этот созданный экземпляр SalesProject, точно так же, как это было бы сделано до того, как я переключил его на промежуточную модель.
По сути, это данные, которые я хотел бы передать для запроса POST
{sales_project_name: "Test Project", customer_information: [1, 2]}
где [1,2] - это идентификатор экземпляра CustomerInformation, который я хочу связать M2M к этому конкретному проекту продаж, который я создаю
Вот мой models.py
class CustomerInformation(models.Model):
customer_id = models.AutoField(primary_key=True)
customer_name = models.CharField(max_length=100)
history = HistoricalRecords()
class SalesProject(models.Model):
sales_project_id = models.AutoField(primary_key=True)
sales_project_name = models.CharField(max_length=100)
customer_information = models.ManyToManyField('CustomerInformation', through='Project_Customer')
history = HistoricalRecords()
class Project_Customer(models.Model):
project = models.ForeignKey('SalesProject', on_delete=models.SET_NULL, null=True)
customer = models.ForeignKey('CustomerInformation', on_delete=models.SET_NULL, null=True)
history = HistoricalRecords()
Я новичок в использовании промежуточных моделей, поэтому помогите мне, если я в чем-то ошибаюсь! Из того, что я вижу, похоже, что когда я пытаюсь создать SalesProject с помощью ModelViewsets, поле customer_information больше не является частью запроса, и кажется, что набор просмотра игнорирует это поле, это нормально? Как мне решить эту проблему, чтобы я мог выполнять POST и GET так же, как обычно, при использовании ModelViewsets с обычным полем M2M
Любая помощь приветствуется, спасибо!