私はコメントされたコメントIDをデータベースに保存します。そのために私は2つのモデルを持っています: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"),
]
をしかし、私はこのエラー「ComentarioListar2()不足している1つの必要な位置引数入手:「Comentario_idを'"
私はcomentario_preguntado idに、コメントされたコメントのID(comentario_id)をどのように保存するか分かりません。
はあなたのURLは、モデルインスタンスの主キーは、ビューから参照できるように宣言する必要があり
を、あなたがポストにコメントを保存したいわけ? –
あなたはurls.pyのコードを提供できますか? – navyad
comentarioListar2のurls.pyを追加しました。私がしたいのは、comentario.id(コメントがついたとき)を取得し、comentario_preguntado.idとして保存することです。 – JohnWire