【发布时间】:2020-11-29 19:18:01
【问题描述】:
我有一个需要执行的(CreateView)类中的方法,但我认为它没有被执行,实际上“保存”什么都不做,表“Card_id_user”是空的......有吗解决这个问题的方法?这是我views.py中的代码
class New_card_creation_view(CreateView):
title = "AGGIUNGI CARD"
model = Card
template_name = "new_card.html"
fields = ['card_title', 'description', 'expiration_date', 'column']
def create_card_view(self, request):
v = New_card_creation_view(request)
v.create_card_view(request)
if request.method == 'POST':
form = CardCreationForm(request.POST or None)
if form.is_valid:
form = form.save(commit=False)
form.save()
nCard=Card_id_user(user_id=request.user.id, card_id= form.id)
return render(request, 'board.html'),
else:
form = CardCreationForm()
return render(request, 'new_card.html', {'form': form})
else:
form = CardCreationForm()
return render(request, 'new_card.html', {'form': form})
def get_context_data(self, **kwargs):
context = super(New_card_creation_view, self).get_context_data(**kwargs)
context.update({'title': self.title})
return context
def get_success_url(self):
return reverse('board_view', args=(self.object.column.board.id,))
【问题讨论】:
-
你为什么期望
create_card_view被执行? -
因为 'Card' 已正确创建并存储在其表中。我以为我必须调用
create_card_view,但我需要参数request,所以我不知道如何检索参数request -
不,这只是
CreateView的样板代码。它会自动制作表格等。 -
不过我不太清楚什么你想把
CreateView改成,你想添加什么“逻辑”? -
我必须在表 Card_id_user 中添加刚刚创建的卡的 ID,并且创建的用户拥有该卡
标签: python django database function class