Python 无法在Django中获取已登录用户的数据
尊敬这里的每一个人。 我有来自一个应用程序的Python 无法在Django中获取已登录用户的数据,python,django,api,rest,backend,Python,Django,Api,Rest,Backend,尊敬这里的每一个人。 我有来自一个应用程序的CustomUser model,以及来自另一个应用程序的Fieldmodel。我通过ManyToMany在CustomUser model中与字段model建立了连接 字段用于感兴趣的字段,在注册表格中,我输入了“您对什么感兴趣?” 我可以很容易地获得其他数据,如用户名、出生日期、电子邮件。。。但无法获取此兴趣。它返回courses.Field.None 这是模型。py from django.db import models from django
CustomUser model
,以及来自另一个应用程序的Field
model。我通过ManyToMany
在CustomUser model
中与字段
model建立了连接
字段用于感兴趣的字段,在注册表格中,我输入了“您对什么感兴趣?”
我可以很容易地获得其他数据,如用户名、出生日期、电子邮件。。。但无法获取此兴趣
。它返回courses.Field.None
这是模型。py
from django.db import models
from django.contrib.auth.models import AbstractUser
from courses.models import Field
class CustomUser(AbstractUser):
username = models.CharField(max_length=32 , verbose_name="Login", unique=True, )
first_name = models.CharField(max_length=64, verbose_name="Ismingiz", blank=False, null=False)
second_name = models.CharField(max_length=64, verbose_name="Familyangiz", blank=False, null=False)
# & dob = date of birth
dob = models.DateField(auto_now_add=False, verbose_name="Yoshingiz", blank=False, null=True)
gender_choices = [("e", "Erkak"), ("a", "Ayol")]
gender = models.CharField(choices=gender_choices, verbose_name="Jinsingiz", default="e", max_length=1)
-> interests = models.ManyToManyField(Field, verbose_name="Qiziqishlaringiz")
longitude = models.CharField(max_length=256, verbose_name="Yashash joyingiz (uzunlik)", null=True, blank=True)
latitude = models.CharField(max_length=256, verbose_name="Yashash joyingiz (kenglik)", null=True, blank=True)
这是我的views.py文件,来自courses
App
from django.shortcuts import render
from .models import Center
from .serializers import CenterSerializer, UserSerializer
from rest_framework import generics
from django.contrib.auth import get_user_model
from rest_framework.response import Response
from decimal import Decimal
from slugify import slugify
import operator
from rest_framework.decorators import api_view
...
other views here
...
def center_list(request):
if request.method == 'GET':
dorilar = Center.objects.all()
serializers = CenterSerializer(dorilar, many=True)
dorixonalar = []
uzunlik = request.GET.get('uz')
kenglik = request.GET.get('keng')
------> print(request.user.interests)
interests = request.GET.get('interest').split(",")
if uzunlik and kenglik:
uzunlik = Decimal(uzunlik)
kenglik = Decimal(kenglik)
location = Decimal(uzunlik + kenglik)
dorixonalar = yaqinlik_boyicha_filter(dorilar, location, interests)
serializers = CenterSerializer(dorixonalar, many=True)
return Response(serializers.data)
else:
return Response(serializers.data)
提前感谢。:) request.user.interests是一个经理。您需要:
print(request.user.interests.all())
request.user.interests是一个经理。您需要:
print(request.user.interests.all())