【发布时间】:2020-04-07 20:26:11
【问题描述】:
我正在尝试在 Django 中开发一个应用程序。目前,我正在尝试创建一个评论部分,供用户使用表单编写和提交 cmets。我制作了一个模板,其中显示了电影的信息以及用户可以通过它在电影上编写 cmets 的表单。
问题是当我写评论并尝试提交时,会出现这个错误:
/myapp2/2/ 处的完整性错误 NOT NULL 约束失败:myapp2_comentario.pelicula_id
我的 Views.py
def detallesPelicula(request, pelicula_id):
peliculas = get_list_or_404(Pelicula.objects.order_by('titulo'))
pelicula = get_object_or_404(Pelicula, pk=pelicula_id)
actor = get_list_or_404(Actor.objects)
comentarios = Comentario.objects.filter(pelicula=pelicula).order_by('fecha')
if request.method =='POST':
comment_form = CommentForm(data=request.POST)
if comment_form.is_valid():
comment_form.save()
texto = request.POST.get('texto')
comentario = Comentario.objects.create(
usuario=request.user, pelicula=pelicula, texto=texto)
comentario.save()
return HttpResponseRedirect(pelicula.get_absolute_url())
else:
comment_form= CommentForm()
context = {'pelicula': pelicula, 'peliculas': peliculas,
'comentarios':comentarios,'comment_form':comment_form}
return render(request, 'detallesPelicula.html', context)
我的 Forms.py
class CommentForm(forms.ModelForm):
class Meta:
model = Comentario
fields = ['texto']
我的模型.py
class Comentario(models.Model):
usuario = models.ForeignKey(Usuario, on_delete=models.CASCADE)
pelicula =models.ForeignKey(Pelicula, on_delete=models.CASCADE)
fecha = models.DateTimeField(auto_now_add=True,null=True,blank=True)
texto = models.TextField(max_length=2000, default="")
注意:用户取自 Django 认证系统。
非常感谢您的帮助。
【问题讨论】:
标签: django forms django-models django-forms django-views