在 form.save() Django ModelForm 上调用特定字段
Calling specific field on form.save() Django ModelForm
我有一个表单,用户可以在其中向活动添加视频。当他们提交时,我希望他们被重定向到活动页面,但我无法找出必要的代码。
这是我的代码:
views.py:
def add_video(request):
if request.method == "POST":
form = AddVideo(request.POST)
if form.is_valid():
event = form.save()
return redirect('event_detail', slug=event.slug)
else:
form = AddVideo()
return render(request, 'add_video.html', {'form': form})
models.py:
class Video(models.Model):
event = models.ForeignKey(Event, on_delete=models.CASCADE)
url = models.CharField(max_length=255)
urls.py:
url(r'^climbs/(?P<slug>[-\w]+)/$', views.event_detail, name='event_detail'),
当我 运行 此代码时,我不断收到视频模型没有属性 slug 的错误。该属性位于事件模型下。如何从表单中提取事件并使用相应的 slug?
Whelp,我一发布这个我就明白了。只需将 views.py 更改为以下内容:
def add_video(request):
if request.method == "POST":
form = AddVideo(request.POST)
if form.is_valid():
video = form.save()
return redirect('event_detail', slug=video.event.slug)
else:
form = AddVideo()
return render(request, 'add_video.html', {'form': form})
我有一个表单,用户可以在其中向活动添加视频。当他们提交时,我希望他们被重定向到活动页面,但我无法找出必要的代码。
这是我的代码:
views.py:
def add_video(request):
if request.method == "POST":
form = AddVideo(request.POST)
if form.is_valid():
event = form.save()
return redirect('event_detail', slug=event.slug)
else:
form = AddVideo()
return render(request, 'add_video.html', {'form': form})
models.py:
class Video(models.Model):
event = models.ForeignKey(Event, on_delete=models.CASCADE)
url = models.CharField(max_length=255)
urls.py:
url(r'^climbs/(?P<slug>[-\w]+)/$', views.event_detail, name='event_detail'),
当我 运行 此代码时,我不断收到视频模型没有属性 slug 的错误。该属性位于事件模型下。如何从表单中提取事件并使用相应的 slug?
Whelp,我一发布这个我就明白了。只需将 views.py 更改为以下内容:
def add_video(request):
if request.method == "POST":
form = AddVideo(request.POST)
if form.is_valid():
video = form.save()
return redirect('event_detail', slug=video.event.slug)
else:
form = AddVideo()
return render(request, 'add_video.html', {'form': form})