функция в form_valid не вызывается (django) - PullRequest
0 голосов
/ 12 апреля 2020
class ARecordCreateView(CreateView):
    model = Record
    form_class = ARecordModelFormSpecial
    template_name = 'engine/dns/dns_settings_a_create.html'

    def get_success_url(self):
        return reverse('dns_settings', kwargs={
            'domain_name': self.kwargs['domain_name']
        })

    def get_context_data(self, *args, **kwargs):
        context = super(ARecordCreateView,
                        self).get_context_data(**kwargs)
        context['my_domains_dns_settings_user'] = Domain.objects.get(name=self.kwargs['domain_name']).created_by
        context['domain_name'] = self.kwargs['domain_name']

        return context

    def form_valid(self, form):

        f = form.save(commit=False)
        f.domain = Domain.objects.get(name=self.kwargs['domain_name'])
        f.save()
        rectify_zone(self.kwargs['domain_name'])
        return super(ARecordCreateView, self).form_valid(form)

    def get_form_kwargs(self):
        kwargs = super(ARecordCreateView, self).get_form_kwargs()
        # update the kwargs for the form init method with yours
        kwargs.update(self.kwargs)  # self.kwargs contains all url conf params
        return kwargs

Я импортирую rectify_zone из этого пакета: https://github.com/gnotaras/django-powerdns-manager/blob/master/src/powerdns_manager/utils.py

django -powerdns-manager

Когда я запускаю rectify_zone в Оболочка работает нормально, но по какой-то причине не выполняется в form_valid. Кто-нибудь может помочь? Заранее спасибо.

...