2017-11-21 4 views
0

주석 처리 된 주석 ID를 데이터베이스에 저장하려고합니다. 이를 위해 나는 Comentario와 Pregunta라는 두 가지 모델을 가지고 있습니다. 아래 봐 : 코멘트 내가 'comentario_preguntado'ID와 'comentario'ID를 저장하려는 주석다른 개체에 comment.id 저장

models.py

class Comentario (models.Model): 
    titulo = models.CharField(max_length=50) 
    texto = models.CharField(max_length=200) 
    autor = models.ForeignKey (Perfil, null=True, blank=True, on_delete=models.CASCADE) 
    fecha_publicacion = models.DateTimeField(auto_now_add=True) 
    tag = models.ManyToManyField(Tags, blank=True) 

    def __str__(self): 
     return (self.titulo) 

class Pregunta (models.Model): 
    descripcion = models.CharField(max_length=150) 
    autor = models.ForeignKey (Perfil, null=True, blank=True, on_delete=models.CASCADE) 
    fecha_pregunta = models.DateTimeField(auto_now_add=True) 
    comentario_preguntado = models.ForeignKey(Comentario, null=True, blank=True, related_name="pregunta_set") 

    def __str__(self): 
     return (self.descripcion) 

. 이를 위해 나는 다음보기를 만들었습니다

views.py

def ComentarioListar2 (request): 
    aa=Puesto.objects.filter(nombre_puesto=request.user.nom_puesto).values_list('etiquetas') 
    bb=Tags.objects.filter(id__in=aa) 
objects=Comentario.objects.filter(tag__in=bb).exclude(autor__id=request.user.id) 
    form = preguntaform(request.POST or None) 

    if request.method == 'POST' and form.is_valid(): 
     form.instance.autor = request.user 
     form.instance.comentario_preguntado=request.comentario.id 
     form.save() 
    return render(request, 'home/comentario_listar.html', {'objects': objects, 'form': form}) 

urls.py

urlpatterns = [ 

    url(r'^listar2$', views.ComentarioListar2, name="listar2"), 

    ] 

을하지만 1 개 필요한 위치 인수 누락이 오류 "ComentarioListar2()를 구하십시오 'Comentario_id를 ' "

comentario_preguntado id에 댓글이 달린 id (comentario_id)를 저장하는 방법을 모르겠습니다.

+0

을 ?? –

+0

urls.py에 대한 코드를 제공 할 수 있습니까? – navyad

+0

comentarioListar2에 urls.py를 추가했습니다. 내가하고 싶은 것은 comentario.id (주석이있을 때)를 얻고 comentario_preguntado.id로 저장하는 것입니다. – JohnWire

답변

0

귀하의 URL 모델 인스턴스의 기본 키가 뷰에서 참조 할 수 있도록 선언 할 필요가 당신의 도움을 주셔서 감사합니다.

그것은 다음과 같이해야합니다 :

url(r'^listar2/(?P<Comentario_id>[0-9]+)/$', views.ComentarioListar2, name="listar2"), 

그래서, URL의 예/listar2/101/것이다. 여기서 101은 Comentario 모델 인스턴스의 ID입니다.

그런 다음 기능보기에 액세스 할 수 있습니다 당신은 정의 : 당신이 게시물에 대한 댓글을 저장할 의미

def ComentarioListar2 (request, Comentario_id): 
            ^^^^^^^ 
+0

답장을 보내 주셔서 감사합니다.하지만 정확히하고 싶은 것은 .url과 템플릿을 변경하지 않고 주석 처리 된 주석 ID를 얻는 것입니다. 위에서 볼 수 있듯이 views.py를 변경했습니다. – JohnWire