El 24/04/15 06:08, David escribió:
I think that you shoul use CreateView to create new objects or UpdateView to update them.This appears to work. Using a view for 2 functions seems pretty fugly though. Are there better ways to achieve this?
class CreateComment(ListView, FormMixin):model = Commentpaginate_by = 2form_class = CommentForm
def post(self, request, *args, **kwargs):form = CommentForm(self.request.POST)if form.is_valid():obj = form.save(commit=False)obj.creator = request.userobj.object_id = self.kwargs['pk']obj.content_type_id = self.kwargs['ct']obj.save()else:return super(CreateComment, self).post(request, *args, **kwargs)
def get_queryset(self):comments = Comment.objects.filter(object_id=self.kwargs['pk'], content_type_id=self.kwargs['ct'])return comments
def get_context_data(self, **kwargs):context = super(CreateComment, self).get_context_data(**kwargs)context['form'] = CommentFormreturn context
ListView is used to represent a list of objects.
Cheers,
Felix.
No comments:
Post a Comment