ArticleモデルとCommentモデルにいいね(一般化リレーション)を付けれる様にしたいのですが、困ったことがあるのでこちらで質問させて頂きます。
Python
1# model 2class Like(models.Model): 3 user = models.ForeignKey(settings.AUTH_USER_MODEL) 4 content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE) 5 object_id = models.PositiveIntegerField() 6 content_object = GenericForeignKey() 7 created_at = models.DateTimeField(auto_now_add=True) 8 9# views 10def like(request, id): 11 user = request.user 12 ct = Article.objects.get(id=id) 13 if request.method == 'POST': 14 like = Like.objects.create(user=user, 15 content_object=ct) 16 like.save() 17 ... 18 ...
上記のコードでArticleにいいねを付けれる様になったのですが、当然これではCommentにいいねは付けれないので、
どの様にすればcontent_objectを判定し、Article, Commentそれぞれにいいねを付けれるのでしょうか。
また、この様な実装ではなく、ArticleLike, CommentLikeといった形で実装するべきなのでしょうか。
どなたか回答宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/21 13:07
2017/06/21 13:14
2017/06/21 13:30
2017/06/21 13:41