0
のDjango == 1.11.5は、私は生のSQLによって選択得るものORMによって取得に失敗しましたORM
が希望取得に失敗しました。
tag.idとタグのテキストが必要です。
それは望ましい結果を得るためにORMを使用することが可能です:
あなたは私が状況を理解するのに役立つだろうか?
以下は、okとORMの選択が完全に失敗するコードです。コードが受け入れられるかどうか私に教えてください。
tags.models
class Tag(models.Model):
tag = models.CharField(max_length=50,
blank=True,
null=False,
default="",
unique=True,
verbose_name=_('tag'))
frametags.models
class FrameTag(models.Model):
frame = models.ForeignKey(Frame,
on_delete=models.CASCADE,
verbose_name=_("frame"))
tag = models.ForeignKey(Tag,
on_delete=models.CASCADE,
verbose_name=_("tag"))
ORM(失敗試行)
>>> f = Frame.objects.get(pk=1)
>>> f.frametag_set.all()
<QuerySet [<FrameTag: Frame 1, tag sport>, <FrameTag: Frame 1, tag dancing>]>
01私が何をしたか
:
def custom_sql(frame_instance):
with connection.cursor() as cursor:
cursor.execute("select tags_tag.id, tags_tag.tag from frametags_frametag join tags_tag on (tags_tag.id=tag_id) where frame_id=%s", [frame_instance.id])
rows = cursor.fetchall()
return rows
def show_tags(frame_instance):
rows = custom_sql(frame_instance)
return {'object_list': rows }
希望の出力は何ですか? –
tag.idとタグのテキストが必要です。最初の質問を編集して、タグモデルを表示します。 – Michael