【发布时间】:2022-08-08 00:29:00
【问题描述】:
我正在尝试为 \"following_user\" 返回额外的数据,但我正在返回 \"user\" 实例的数据
获取用户以下列表的视图:
class UsersFollowing(generics.ListAPIView):
authentication_class = [authentication.TokenAuthentication]
permission_class = [permissions.IsAuthenticated]
serializer_class = FollowingSerializer
def get_queryset(self):
user = self.request.GET.get(\'user_id\')
obj = Follow.objects.filter(user=user)
return obj
序列化器:
class FollowingSerializer(serializers.ModelSerializer):
avi_pic = serializers.SerializerMethodField(\'get_avi_pic\')
username = serializers.SerializerMethodField(\'get_username\')
first_name = serializers.SerializerMethodField(\'get_first_name\')
last_name = serializers.SerializerMethodField(\'get_last_name\')
def get_username(self, obj):
username = obj.following_user.username
return username
def get_first_name(self, obj):
first_name = obj.following_user.first_name
return first_name
def get_last_name(self, obj):
last_name = obj.following_user.last_name
return last_name
class Meta:
model = Follow
fields = \"__all__\"
我的关注模型:
class Follow(models.Model):
user = models.ForeignKey(
\"User\", related_name=\"follower\", on_delete=models.CASCADE)
following_user = models.ForeignKey(
\"User\", related_name=\"following\", blank=True, on_delete=models.CASCADE)
date_followed = models.DateTimeField(auto_now_add=True)
我的用户模型:
class User(AbstractUser):
objects = UserManager()
avi_pic = models.ImageField(
_(\'avi_pic\'), upload_to=aviFile, null=True, blank=True)
email = models.EmailField(max_length=250, unique=True)
first_name = models.CharField(max_length=150)
last_name = models.CharField(max_length=150)
username = models.CharField(max_length=60, unique=True)
标签: python django django-models django-rest-framework django-serializer