使用用户关系表中外键获取User应该怎么做
不好意思,我这应该算是提了一个 xy问题
我的需求是想通过 rest framework
的 @detail_route
修饰符实现类似 /users/{user_id}/fans/
这种风格的路由,但是在写方法的时候不知道除了循环提取还有什么办法获取 user
列表,后来这样写了,可以用,但是不知道是不是真的好
class UserViewSet(viewsets.ModelViewSet):
"""
This viewset automatically provides `list` and `detail` actions.
"""
queryset = MyUser.objects.all()
serializer_class = UserSerializer
filter_class = UserFilter
@detail_route(methods=['get'], url_path='fans')
def get_fans(self, request, pk=None):
instance = self.get_object()
from_user_list = []
follows = instance.fans.filter(followed=True)
# 这里通过调用 rest framework 的分页方法进行分页操作
# 然后提取出指定数量的实例再进行提取
page = self.paginate_queryset(follows)
for f in page:
from_user_list.append(f.from_user)
serializer = self.get_serializer(from_user_list, many=True)
return self.paginator.get_paginated_response(serializer.data)
下面的问题提问的并不好
用户关系表为
class Follow(models.Model):
from_user = models.ForeignKey('User', related_name='followers')
to_user = models.ForeignKey('User', related_name='fans')
此时有一个 User 实例,我想通过 fans 获取它的所有粉丝
u = User.objects.get(id=1)
u.fans.all()
此时获取到了一个 Follow 列表 [< Follow: >, < Follow: >]
请问如何才能获取到 User 列表?
https://docs.djangoproject.com/en/1.8/ref/models/fields/#django.db.mod...
# Declare the ForeignKey with related_query_name
class Tag(models.Model):
article = models.ForeignKey(Article, related_name="tags", related_query_name="tag")
name = models.CharField(max_length=255)
# That's now the name of the reverse filter
Article.objects.filter(tag__name="important")
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd18466.html
相关文章 Recommend
- • 使用django在做添加superuser操作时报错\xBA\xA3像是乱
- • 一段代码中使用了sqlite有部分不理解的地方,求老
- • 使用python的类报错TypeError: say() takes exactly 2 argu
- • 关于在android平台使用Python代码的小问题
- • sublime text 2怎样使用virtualenv环境进行build
- • MAC下使用easy_install MySQL-python报错No such file or di
- • 请问python外部模块可以在Jinja2模板里使用吗?
- • Flask多个视图函数需要用户登录才能指向统一控制
- • 求可以直接使用的支付宝python包,全安性高的
- • 使用pymedia播放音频大家有遇到噪音问题吗?怎么解
- • python soap client 错误: suds.TypeNotFound: Type not f
- • flask web开发中使用redis做缓存怎么和数据库同步?
您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • django app提供pv信息的方法是什么
- • Django项目版本升级如何操作?
- • django较多数据传递如何优雅的呈现
- • django1.7获取参数问题求助
- • Django1.7使用内置comment遇到问题
- • python mysql数据库做insert操作时报_mysql_ex
- • 关于python mysql的duplicate insert机制的疑问
- • pymongo使用insert函数批量插入被中断要怎么
- • Python程序员解决棘手问题的常用库
- • 求助关于restfull api接口几个问题
图文精华 RECOMMEND
-
django1.7获取参数问题求助
-
Python程序员解决棘手问题的常用库
-
求问str()同__str__原理上有什么不同
-
scrapy框架里面用link extractor怎么能
-
python {}.fromkeys创建字典append添加操
-
python3 类型Type str doesn't support th
热点文章 HOT
- 学习Python有什么好的书籍推荐?
- Python匿名函数 Lambda表达式作用
- Python与Java、C、Ruby、PHP等编程语言有什么
- Python 正则中文网页字符串提取问题
- 如何为实时性应用存取经纬度?django my
- 想用python做个客户端,在二维码登录这个地
- 有让IDE可识别Python函数参数类型的方法吗
- Python字符串转换成列表正则疑问