THUMBS SHIFT→

このブログは主に親指シフトを用いて書かれています

djangoチュートリアル その2

先生!migrateとmakemigrationsの違いがわかりません。

それはそれとして
ForeignKey & ManyToManyFieldの使い方

class Tag(models.Model):
    tag_name = models.CharField(max_length=128)

class Article(models.Model):
    tag = models.ManyToManyField(Tag)
    title = models.TextField(default='タイトルを入力して下さい')
    body = models.TextField()

class Comment(models.Model):
    article = models.ForeignKey(Article, on_delete=models.CASCADE)
    comment = models.TextField()

こういうmodelがあったとする。

article = Artiicle.objects.get(pk=1)
comment = Comment.objects.get(pk=1)
tag = Tag.objects.get(pk=1)

#articleにひも付けされたtag を取得
article.tag.all() #なんかドキュメントを見る限りだとtagsにする必要があるけどtagでできる。なぜ?

#逆にtagからarticleを取得
tag.article_set.all()

#articlにつけられたcommentを取得
article.comment_set.all()

#逆にcommentからarticleを取得
comment.article