【发布时间】:2018-08-26 03:14:41
【问题描述】:
我想使用 DRF 在 django 中创建一个追随者选项,所以这里是我的 models.py
class Connect(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, unique = True, related_name = 'rel_from_set',on_delete=models.CASCADE)
following = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name = 'follwed_by')
def __str__(self):
return str(self.following.all().count())
urls.py
url(r'^conn/(?P<id>\d+)', ConnectApi),
serializer.py
class ConnectSerializer(serializers.ModelSerializer):
class Meta:
model=Connect
fields=('user','following')
views.py
@api_view(['GET','POST'])
def ConnectApi(request,id):
user_id=request.POST.get('id')
print(user_id)
# user_id=request.GET['id']
# action=request.POST.get('action')
if user_id :
# if user_id and action:
try:
user1=User.objects.get(id=user_id)
if user1 :
Connect.objects.get_or_create(user=request.user,
following=user1)
else:
Connect.objects.filter(user=request.user,
following=user).delete()
return JsonResponse({'status':'ok'})
except:
return JsonResponse({'status':'ki'})
return JsonResponse({'status':'ko'})
但每当我打开网址时
http://127.0.0.1:8000/connect/conn/2
这是回复
{"status": "ko"}
在终端中我可以看到“NONE”
对于print(user_id) 命令
我不明白我在哪里做错了,我不认为这是让追随者发挥作用的最佳做法,如果你知道的话,请告诉我
【问题讨论】:
-
不,我没有发送任何数据有效载荷,我通过邮递员服务使用了 httppost 方法并访问了 url
标签: django django-models django-rest-framework django-views