Как отфильтровать созданные объекты модели по пользователю, чтобы применить обновление с двумя формами? - PullRequest
0 голосов
/ 07 октября 2019

У меня есть 2 формы (models.forms), которые я вызываю в своей функции, где я пытаюсь создать экземпляр 2 связанных моделей для 1 внешнего ключа (пользователь). Через 2 формы, к которым я хочу применить обновление, но я хочу вызвать объект пользователем. в чем я не прав пожалуйста?

views.py

def update_permisos(request, pk, pk1):
    p = get_object_or_404(Permiso, pk=pk)
    form = Permiso_update(request.POST, instance=p)
    u = get_object_or_404(Users, pk1=pk)
    form2 = Users_up(request.POST, instance=u)
    if request.method == 'POST' and request.is_ajax():    
        if form.is_valid():
            permiso = form.save(commit=False)
            permiso.usuario.d_pendientes = request.POST['d_pendientes']#valores, que van al campo
            permiso.usuario.h_pendientes = request.POST['h_pendientes']#valores, que van al campo
            permiso.save()
            return JsonResponse({'status':'true', 'msg':'Datos procesados correctamente'})#retornando JSon en jsConsole 
        else:
            return JsonResponse({'status':'false', 'msg':'Datos procesados incorrectamente'})#retornando respuesta en jsConsole
    else:
        form = Permiso_update(instance=p)
        form2 = Users_up(instance=u)
        asrg = {'form':form, 'form2':form}
        return render(request, 'plantillas/permisos_update.html', asrg)

Я пытался сделать с классом "Update View", но я все равно не даю, с чем не так, спасибо за все

views.py 

class PermisoUpdateView(UpdateView):
    model = Permiso
    second_model = Users
    template_name = 'plantillas/permisos_update.html'
    form_class = Permiso_update
    second_form_class = Users_up

    def get_context_data(self, **kwargs):
        context =super(PermisoUpdateView, self).get_context_data(**kwargs)
        pk = self.kwargs.get('pk', 0)
        p = self.model.objects.get(id=pk)
        u = self.second_model.object.get(id=p.pk)
        if 'form' not in context:
            context['form'] = self.form_class()
        if 'form2' not in context:
            context['form2'] = self.second_form_class(instance=u)
        context['id'] = pk
        return context
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...