Как сохранить экземпляр формы в циклическом python django

#python-3.x #django #django-views

Вопрос:

я попытался сохранить экземпляр формы с помощью цикла. я создал модели управления назначениями и рабочего места.

пользователь в управлении назначением-это внешний ключ, я решил создать представления, которые сохранят всех пользователей, сделав их списком

views.py

 def create_job(request):
    emp = EmployeeManagement.objects.filter(is_employee=True, is_supervisor=False)
    form = CreateEmployeeJob()

    if request.method == 'POST':
        form = CreateEmployeeJob(request.POST or None, request.FILES or None)
        emp_list = request.POST.getlist('emp')
        print(emp_list)  // ['1', '2']
        if form.is_valid():
            if emp_list:
                for employee in emp_list:
                    form.instance.worker_id = int(employee)
                    form.save()

    context = {
        'employee': emp,
        'form': form,
    }
    return render(request, 'd/form.html', context)
 

представления, которые я создаю, сохраняют только последний индекс списка
, пока в form.html

 <form method="post" enctype="multipart/form-data">
    {% csrf_token %}
    {{ form.as_p }}
    {% if employee %}
        {% for emp in employee %}
            <input type="checkbox" id="emp" name="emp" value="{{emp.id}}"> {{ emp }} <br>
        {% endfor %}
    {% endif %}
    <br>
    <button>Save</button>
</form>
 

есть какие-то ошибки в моем models.py

 class WorkPlace(models.Model):
    buildings = models.CharField(max_length=255, verbose_name='Nama Gedung : ')
    tower_name = models.CharField(max_length=255, verbose_name='Nama Tower : ')
    ground_name = models.CharField(max_length=255, verbose_name='Nama Lantai : ')
    job_area = models.CharField(max_length=255, verbose_name='Zona Kerja : ')
    qr_code = models.TextField(verbose_name='unique code QR', default=generate_code())
    qr_img = models.FileField(verbose_name='QR Code Image', upload_to='qr/', blank=True, null=True)


class AssignmentControl(models.Model):
    assignment = models.ForeignKey(WorkPlace, on_delete=models.CASCADE, blank=True)
    access_permission = models.BooleanField(default=False)
    worker = models.ForeignKey(User, on_delete=models.CASCADE, blank=True)
    estimated_time = models.IntegerField(default=0, verbose_name='lama waktu pengerjaan : ')
    start_time = models.DateTimeField(blank=True, null=True)
    end_time = models.DateTimeField(blank=True, null=True)
    on_progress = models.BooleanField(default=False)
    is_done = models.BooleanField(default=False)
    img_before = models.FileField(upload_to='assignment/before/', blank=True)
    img_after = models.FileField(upload_to='assignment/after/', blank=True)