class Education(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
school = models.CharField(max_length=50)
year = models.CharField(max_length=10)
样本照片:例如,它只会显示与帐户关联的第一个字段。
user_education_queryset = Education.objects.filter(user=user)
user=request.user
注意:用户必须登录,否则这将返回匿名用户对象,该对象将无法查询数据库。总结: 获取用户对象,并使用获取的用户对象按教育模型中的用户字段进行过滤。
mike = User.objects.get(id=1) # or mike = User.objects.get(username='mike')
然后
mike_education_query = Education.objects.filter(user=mike)
class EducationViewSet(viewsets.ModelViewSet):
serializer_class = EducationSerializer
def get_queryset(self):
user = self.request.user
account = User.objects.get(id=user.id)
return Education.objects.filter(user=account)