无法获取 Django 中登录用户的数据

Cannot get data of logged in User in Django

在这里尊重每一个人。 我有来自一个应用程序的 CustomUser model,以及来自另一个应用程序的 Field 模型。我通过 ManyToMany.

CustomUser model 中建立了与 Field 模型的连接

Field is for interested fields, and in signup form I have input like "In What do you have interests?"

我可以轻松获取其他数据,例如用户名、date_of_birth、电子邮件...但无法获取此 interests。它returnscourses.Field.None

这里是models.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())