Помогите с затыком, пожалуйста.
Есть модели:
class Contract(models.Model):
...
responsible = models.ManyToManyField(Responsible, blank=True)
...
class Responsible(models.Model):
Responsible_name = models.CharField(max_length = 50)
class Resp_status(models.Model):
responsible = models.ForeignKey(Responsible)
approval = models.BooleanField(default = False)
contract = models.ForeignKey(Contract, null = True)
Есть форма для модели Contract для создания контракта. Как сделать, что бы при создании контракта для каждого из выбранных Responsible создавался Resp_status?
Пытаюсь сделать так:
def new_contract(request, pk):
partner = Partner.objects.get(id=pk)
if request.method == 'POST':
form = NewContractForm(request.POST)
if form.is_valid():
contract = form.save(commit=False)
contract.partner = partner
contract.save()
for resp in contract.responsible.all():
status.responsible = resp
status.contract = contract.id
status.save()
Получается, мы заполняем форму, создаётся Contract и после его создания надо создать статусы для всех выбранных responsible.
И совершенно не получается сформулировать запрос для гугла, что бы найти решение. Возможно, я изначально как-то неправильно подхожу к решению задачи?