Django m2m (прикрепление нескольких пользователей к 1 задаче) - Python
Формулировка задачи:
Всем доброго времени суток. Пишу web-system'у и возникла проблема с записью m2m значений.
Вот моя models:
вот views:
и сама html от куда я беру значения на запись:
У меня не получчается передать несколько значений в request.Post и записать их. Через админ панель все работает,несколько исполнителей прикрепляются к задачам, а вот как сделать это через html и реализовать во view не получается. так же вылетает вот такая ошибка
Direct assignment to the forward side of a many-to-many set is prohibited. Use user.set() instead.
Листинг программы
- class Project(models.Model):
- name = models.CharField(max_length = 250)
- species = models.ForeignKey('Species_project', on_delete = models.CASCADE)
- species_task = models.ForeignKey('Species_Task', on_delete = models.CASCADE)
- created_task = models.DateField(verbose_name='Дата создания',auto_now_add=True)
- finish_task = models.DateField(verbose_name='Дата окончания')
- user = models.ManyToManyField('auth.User')
- description = models.TextField()
- def __str__(self):
- return self.name
Листинг программы
- def create_project_task(request, pk):
- task_species = Species_Task.objects.all()
- user_list = User.objects.all()
- if request.method == 'POST':
- name = request.POST.get('name')
- description = request.POST.get('description')
- species_task = request.POST.get('species_task')
- date_finish = request.POST.get('finish_date')
- user_task = request.POST.get('user_task')
- Project.objects.get_or_create(name = name, species_id=pk, species_task_id=species_task, user=user_task, finish_task=date_finish, description=description)
- return render(request, 'projects/create_project_task.html', {'task_species': task_species, 'user_list':user_list})
Листинг программы
- <select name="user_task" class="form-control" id="exampleFormControlSelect2" multiple="multiple">{% for itm in user_list %}>
- <option value={{ itm.id }}>
- {{ itm.first_name }} {{ itm.last_name }}
- {% endfor %}
Решение задачи: «Django m2m (прикрепление нескольких пользователей к 1 задаче)»
textual
Листинг программы
- class Project(models.Model):
- name = models.CharField(max_length = 250)
- species = models.ForeignKey('Species_project', on_delete = models.CASCADE)
- species_task = models.ForeignKey('Species_Task', on_delete = models.CASCADE)
- created_task = models.DateField(verbose_name='Дата создания',auto_now_add=True)
- finish_task = models.DateField(verbose_name='Дата окончания')
- user = models.ManyToManyField('auth.User')
- description = models.TextField()
- def __str__(self):
- return self.name
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д