python 3.x - Form not saved in database by POST request in django view -
my form working fine stops working , i'm stuck here, me please! when prints form.errors in case of form not valid prints
user required field.
models.py
class tarwithdocker(models.model): name = models.charfield(max_length=255) user = models.foreignkey(user, related_name='deployments') slug = autoslugfield(populate_from='name', unique=true, name='slug') archive = models.filefield(upload_to='archives', name='archive') created_at = models.datetimefield(default=timezone.now, editable=false) class meta: ordering = ['-created_at'] views.py
class awddeployment(loginrequiredmixin, createview): template_name = 'deployments/awddeployment.html' def get(self, request, *args, **kwargs): return render(request, 'deployments/awddeployment.html', {}) def post(self, request, *args, **kwargs): if request.method == 'post': form = awddeploymentform(request.post, request.files) if form.is_valid(): deployment = tarwithdocker() deployment.name = form.cleaned_data['name'] deployment.user = self.request.user deployment.archive = form.cleaned_data['archive'] deployment.save() return httpresponse("submitted") else: print("not saved") else: print("something happnes wrong") form = awddeploymentform() return httpresponseredirect(reverse('users:deployments:awd'))
you have user in request, may not in post data may you:
post_data = request.post.copy() post_data.update({'user': request.user.pk}) form = awddeploymentform(post_data, request.files)
Comments
Post a Comment