回答編集履歴
2
インデント修正
answer
CHANGED
@@ -15,12 +15,12 @@
|
|
15
15
|
|
16
16
|
```python
|
17
17
|
class Profile(models.Model):
|
18
|
-
|
18
|
+
user = models.OneToOneField(settings.AUTH_USER_MODEL)
|
19
|
-
|
19
|
+
favorite = models.ManyToManyField(Thread,blank=True,null=True)
|
20
20
|
|
21
21
|
class Thread(models.Model):
|
22
|
-
|
22
|
+
author = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE)
|
23
|
-
|
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
|
-
|
38
|
+
thread = get_object_or_404(Thread,pk=pk)
|
39
|
-
|
39
|
+
if thread in request.user.profile.favorite.all():
|
40
|
-
|
40
|
+
request.user.profile.favorite.remove(thread):
|
41
|
-
|
41
|
+
return Response({"message":"removed"})
|
42
|
-
|
42
|
+
else:
|
43
|
-
|
43
|
+
request.user.profile.favorite.add(thread):
|
44
|
-
|
44
|
+
return Response({"message":"added"})
|
45
45
|
```
|
46
46
|
|
47
47
|
あとは、jqueryのajaxのsuccess内にDOM操作の処理を記述すれば想定されている処理になるのではないかと思います。
|
1
コード記述ミス
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:
|