Помогите пожалуйста разобраться.
Суть: Вызываю форму для создания пользователя.
В форме заполняю поля. И вот это поле “labs” имеет отношение many to many Lab – User.
Ошибка: “ TypeError at /user/add ‘labs’ is an invalid keyword argument for this function ”
Понимаю, что в views.py labs=cd не так должно сохранять выбранное значение.
Голова уже не варит.
Если не сложно направьте по правильному пути.
Есть:
models.py
class Lab(models.Model):
name = models.CharField(max_length=100)
script = models.FileField(upload_to='lab_up')
....
environment = models.ForeignKey(Env)
def __unicode__(self):
return '%s' % (self.id)
class User(models.Model):
name = models.CharField(max_length=20)
.......
labs = models.ManyToManyField(Lab, blank=True)
def __unicode__(self):
return '%s ' % (self.name)
url(r'^user/add/$', views.user_add)
def user_add(request):
if request.method == 'POST':
form = add_user(request.POST, request.FILES)
if form.is_valid():
cd = form.cleaned_data
User.objects.create(name=cd['name'],
second_name=cd['second_name'],
third_name=cd['third_name'],
group=cd['group'],
labs=cd['labs']) <------------------------------------- labs
return HttpResponseRedirect('/env/thanks/')
else:
form = add_user()
return render_to_response('user_add.html', {'form': form})
class add_user(forms.Form):
name = forms.CharField(max_length=20)
second_name = forms.CharField(max_length=20)
third_name = forms.CharField(max_length=20)
group = forms.CharField(max_length=50, required=False)
labs = forms.ModelMultipleChoiceField(queryset=data.models.Lab.objects.all(), required=False)