質問するログイン新規登録

回答編集履歴

2

インデント修正

2019/02/26 05:37

投稿

hpyth
hpyth

スコア12

answer CHANGED
@@ -15,12 +15,12 @@
15
15
 
16
16
  ```python
17
17
  class Profile(models.Model):
18
- user = models.OneToOneField(settings.AUTH_USER_MODEL)
18
+ user = models.OneToOneField(settings.AUTH_USER_MODEL)
19
- favorite_thread = models.ManytoManyField(Thread,blank=True,null=True)
19
+ favorite = models.ManyToManyField(Thread,blank=True,null=True)
20
20
 
21
21
  class Thread(models.Model):
22
- author = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE)
22
+ author = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE)
23
- title = modles.TextField()
23
+ title = models.TextField()
24
24
  #その他のコンテンツ
25
25
  ```
26
26
 
@@ -35,13 +35,13 @@
35
35
 
36
36
  @api_view()
37
37
  def toggle_favorite_thread(request,pk):
38
- thread = get_object_or_404(Thread,pk=pk)
38
+ thread = get_object_or_404(Thread,pk=pk)
39
- if thread in request.user.profile.all():
39
+ if thread in request.user.profile.favorite.all():
40
- request.user.profile.remove(thread)
40
+ request.user.profile.favorite.remove(thread):
41
- return Response({"message":"removed"})
41
+ return Response({"message":"removed"})
42
- else:
42
+ else:
43
- request.user.profile.add(thread)
43
+ request.user.profile.favorite.add(thread):
44
- return Response({"message":"added"})
44
+ return Response({"message":"added"})
45
45
  ```
46
46
 
47
47
  あとは、jqueryのajaxのsuccess内にDOM操作の処理を記述すれば想定されている処理になるのではないかと思います。

1

コード記述ミス

2019/02/26 05:37

投稿

hpyth
hpyth

スコア12

answer CHANGED
@@ -36,7 +36,7 @@
36
36
  @api_view()
37
37
  def toggle_favorite_thread(request,pk):
38
38
  thread = get_object_or_404(Thread,pk=pk)
39
- if thread in request.user.profile:
39
+ if thread in request.user.profile.all():
40
40
  request.user.profile.remove(thread)
41
41
  return Response({"message":"removed"})
42
42
  else: