z哎Django restframwork中就有一个类可以获取列表的详情内容,只有两行代码就可以搞定,在浏览器测试是ok的。但是这样的接口给前端,前端点击详情然后会将models.表名.objects.all()的所有内容重新放在了这个数组中。以至于前端点击详情拿到的并不是单个id对应的内容。所以稍微重写一下就好。看一下代码。本来就是一个数据表,列表页数据少,详情回去的数据多一点而已。

class Upload_filep(models.Model):
"""上传项目模型"""
name = models.CharField(verbose_name='项目名', max_length=32)
title = models.TextField(verbose_name='项目描述')
upload_files = models.FileField(upload_to="upload/")
img = models.ImageField(upload_to="upload/")
address = models.CharField(max_length=64, verbose_name='地址', null=True, blank=True)
add_time = models.DateTimeField(default=datetime.now, verbose_name='创建时间')
router = DefaultRouter()
router.register(r'show_workPubs_detail',Mode_DetailViewSet,base_name="mode_detail")
urlpatterns = [ path('admin/', admin.site.urls), url(r'^',include(router.urls)), ]+ static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

url.py

seiializers.py

class Show_workPublishedModelSerialiazer(serializers.ModelSerializer):
class Meta:
model = Upload_filep
fields = ("id","name","title","img","upload_files","address")
search_fields = ('name','title')

  view.py(原Django restframwork中只写queryset和serializer_class就可以获取,但是前端拿到的并不是单个id对应的数据,所以重写get_queryset(self)就好)

class Mode_DetailViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
# 通过三维城市的id,获取三维城市的详情
queryset = Upload_filep.objects.all()
serializer_class = Show_workPublishedModelSerialiazer def get_queryset(self):
id = self.request.GET.get('id')
if id is not None:
return self.queryset.filter(id=id)
return self.queryset

到此,列表详情的获取就可以完成

Django restframwork获取列表详情的更多相关文章

  1. Spring Boot 构建电商基础秒杀项目 (九) 商品列表 & 详情

    SpringBoot构建电商基础秒杀项目 学习笔记 ItemDOMapper.xml 添加 <select id="listItem" resultMap="Bas ...

  2. Django框架获取各种form表单数据

    Django中获取text,password 名字:<input type="text" name="name"><br><br& ...

  3. [置顶] django快速获取项目所有的URL

    django快速获取项目所有的URL django1.10快速获取项目所有的URL列表,可以用于权限控制 函数如下: import re def get_url(urllist , parent='' ...

  4. WPF 微信 MVVM 【续】修复部分用户无法获取列表

    看过我WPF 微信 MVVM这篇文章的朋友,应该知道我里面提到了我有一个小号是无法获取列表的,始终也没找到原因. 前两天经过GitHub上h4dex大神的指导,知道了原因,是因为微信在登录以后,web ...

  5. SharePoint 快捷获取列表栏内部名称

    在列表设置页面点击浏览器书签获取列表字段内部名称,使用效果如下图: 如何使用: 修改浏览器上任意书签的url地址为以下代码,注意:代码中不能有换行符 javascript:(function(){va ...

  6. MSCRM 获取列表所选记录相关信息

    问题:如何通过JS获取列表中所选记录信息? 解决办法: The CRM2011 Ribbon has a special set of parameters called 'CrmParameters ...

  7. SharePoint 2010 获取列表中所有数据(包括文件夹内)的方法

    转: http://blog.csdn.net/wangwenism/article/details/8751411 SharePoint的列表能存储文件以及文件夹,用户使用的时候,经常会建几个分类文 ...

  8. 获取列表的索引操作:enumerate

    通过循环获取列表的索引操作: 主要使用:enumerate product_list = [['Iphone7',5800], ['Coffee',30], ['疙瘩汤',10], ['Python ...

  9. 获取列表中的最大的N项和最小的N项

    获取列表中的最大的N项和最小的N项 #!/sur/bin/env python # -*- coding:utf-8 -*- # author:zengsf #time:2018/10/31 impo ...

随机推荐

  1. quick-cocos2d-x游戏开发【10】——触摸捕获事件 cc.NODE_TOUCH_CAPTURE_EVENT

    假设看过sample中touch的代码,你会发现演示样例中有一个cc.NODE_TOUCH_CAPTURE_EVENT事件.它和cc.NODE_TOUCH_EVENT触摸事件一样,是引擎级别的事件,我 ...

  2. MySQL<多表操作>

    多表操作 外键 什么是外键 外键是指引用另一个表中的一列或多列,被引用的列应该具有主键约束或唯一性约束. 外键用于建立和加强两个表数据之间的链接. 为表添加外键约束 想要真正连接两个表的数据,就需要为 ...

  3. oracle非归档模式下的冷备份和恢复

    查看归档的相关信息 SQL> archive log list数据库日志模式             非存档模式自动存档             禁用存档终点            USE_DB ...

  4. 如果我们的MCU调试不通过,我们该如何测试?(未完待续)

    我们拿到一款MCU,首先在选型的时候对他们都会有一个大概的了解,首先我们知道它多大与的FLASH,多大的RAM,是否与我们的项目适合,资源上是否足够,内频是否足够,运行速率能否达到标准,性能怎么样,比 ...

  5. JS 获取中英字符串字节长度

    正则匹配中文字: 这里限定中文字的范围,一般的使用是没什么问题的.如果要求十分严格的话,那么就只能使用更加严谨的代码匹配了 1:/([^\u0000-\u00FF])/g 2:/[^\x00-\xff ...

  6. GIT+ Coding使用方法

    1 进入码市 :https://coding.net    注册一个账户 2 创建一个项目: 3 本地window环境.安装git : https://git-scm.com/download/win ...

  7. Python - 3.6 学习三

    面向对象编程 面向对象编程 Object Oriented Programming 简称 OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程 ...

  8. 【node】------websocket------【巷子】

    001.学习地址 https://github.com/websockets/ws 002.server.js //引入ws第三方模块 const WebSocket = require('ws'); ...

  9. asp.net mvc(一) ----------简单封装成通用的List<T>集合

    asp.net mvc(一) 这些天开始学习asp.net mvc,用传统的asp.net已经快四的年了,刚开始接触asp.net mvc确认感觉有点不适应,主要体现在asp.net mvc的实现上. ...

  10. JS将阿拉伯数字转为钱

     function DX(n) {         if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))             return "数据非法" ...