Как выполнять дополнительные функции из класса UpdateViews
для редактирования таблицы я использую UpdateViews , и передаю туда тот же шаблон, что и в функции создания:
class CampaignEditor(UpdateView):
model = Campaigns
template_name = 'mailsinfo/add_campaign.html'
form_class = CampaignsForm
def get_context_data(self, **kwards):
context = super().get_context_data(**kwards)
data = list(Emails.objects.values()) # you may want to further filter for update purposes
data = MailsTableWithoutPass(data)
userID = self.object.user_guid
all_mails = CampaignEmail.objects.values_list ('id','campaigne_guid', 'email_guid')
context['data'] = editCampaignDataWork(data, userID, all_mails)
return context
def add_campaign(request):
if request.method == 'POST':
addCampaignDataToDB(request.POST)
data = list(Emails.objects.values())
data = MailsTableWithoutPass(data)
form = CampaignsForm()
data_ = {
'form': form,
'data': data
}
return render(request, 'mailsinfo/add_campaign.html', data_)
Сохранение главной формы в порядке, но кроме этого моя функция create имеет лишние шаги, для еще одной базы данных, все это делается в функции - addCampaignDataToDB
:
def addCampaignDataToDB(req):
formCampaigns = CampaignsForm(req)
IDs = req['IDs']
if IDs != '':
IDs_list = IDs.split(',')
user_guid = req['user_guid'][0]
for i in IDs_list:
CampaignEmail.objects.create(email_guid=int(i), campaigne_guid=int(user_guid))
if formCampaigns.is_valid():
formCampaigns.save()
Я столкнулся с проблемой, что при вызове класса для редактирования из функции addCampaignDataToDB
выполняется только фрагмент:
if formCampaigns.is_valid():
formCampaigns.save()
Но мне нужно, чтобы вся эта функция работала
В результате получается, что часть действий не выполняется и это сильно ломает мою программу, может кто-то знает с чем это связано и как это можно исправить? Буду очень благодарен за советы, а также прошу прощения, если вам что-то непонятно