django一对多模型以及如何在前端实现详解


Posted in Python onJuly 24, 2019

models.py

class xm(models.Model):
  xmID=models.AutoField(primary_key=True)
  xmTitle=models.CharField('项目标题',max_length=50)
  xmDate=models.DateField('时间',auto_now_add=True)
 

  class Meta:
    db_table="std_web_xm"
    verbose_name="项目概况"
    verbose_name_plural=verbose_name

  def __unicode__(self):
    return self.title
  def __str__(self):
    #强制转换为int类型
    return str(self.xmID)#为了使在xadmin中成功显示为xmID

class xmProgress(models.Model):
  xmProgress_ID=models.AutoField(primary_key=True)
  xmProgress = models.CharField('项目进展', max_length=50, blank=True)
  xmDesc = models.CharField('详情', max_length=50, blank=True)
  #关联主键xmID ,级联删除
  cid=models.ForeignKey("xm",on_delete=models.CASCADE)
  xmProgress_Date=models.DateField('更新时间',auto_now_add=True)
class Meta:
    db_table="std_web_xmProgress"
    verbose_name="项目详情"
    verbose_name_plural=verbose_name

  def __unicode__(self):
    return self.title

注册到adminx.py中

class XmAdmin(object):
  list_display = ['xmTitle','xmDate']
  #style_fields = {"xmContent": "ueditor"}

class XmProgressAdmin(object):
  list_display=['cid','xmProgress','xmProgress_Date','xmDesc']

xadmin.site.register(xm,XmAdmin)
xadmin.site.register(xmProgress,XmProgressAdmin)

views.py

def xm_detail(request,xmID):
  xm_detail=xm.objects.get(pk=xmID)
  xmProgress_detail=xmProgress.objects.filter(cid=xm_detail)
  return render(request,'xmgk/xmgk_detail.html',{'xmProgress_detail':xmProgress_detail,'xm_detail':xm_detail})

前端代码

{% for line in xmProgress_detail %}
<tr>
 <td>{{ line.xmProgress_Date|date:"Y-m-d" }}</td>
 <td>{{ line.xmProgress }}</td>
 <td>{{ line.xmDesc }}</td>
</tr>

{% endfor %}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python网络编程示例(客户端与服务端)
Apr 24 Python
跟老齐学Python之数据类型总结
Sep 24 Python
简化Python的Django框架代码的一些示例
Apr 20 Python
python 容器总结整理
Apr 04 Python
Python学习思维导图(必看篇)
Jun 26 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 Python
mac下pycharm设置python版本的图文教程
Jun 13 Python
python多行字符串拼接使用小括号的方法
Mar 19 Python
Pycharm设置utf-8自动显示方法
Jan 17 Python
python文本数据处理学习笔记详解
Jun 17 Python
python 遗传算法求函数极值的实现代码
Feb 11 Python
python使用re模块爬取豆瓣Top250电影
Oct 20 Python
详解Python是如何实现issubclass的
Jul 24 #Python
Django中在xadmin中集成DjangoUeditor过程详解
Jul 24 #Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
Jul 24 #Python
Django 创建/删除用户的示例代码
Jul 24 #Python
python3.6+django2.0+mysql搭建网站过程详解
Jul 24 #Python
简单了解python 邮件模块的使用方法
Jul 24 #Python
python 根据字典的键值进行排序的方法
Jul 24 #Python
You might like
基于PHP常用字符串的总结(待续)
2013/06/07 PHP
php在apache环境下实现gzip配置方法
2015/04/02 PHP
开启PHP的伪静态模式
2015/12/31 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
php+js实现裁剪任意形状图片
2018/10/31 PHP
Avengerls vs KG BO3 第二场2.18
2021/03/10 DOTA
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
14 个折磨人的 JavaScript 面试题
2016/08/08 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
在Vue中使用antv的示例代码
2020/06/29 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
越南综合购物网站:Lazada越南
2019/06/10 全球购物
AJAX的全称是什么
2012/11/06 面试题
中专自荐信
2013/10/13 职场文书
读书活动实施方案
2014/03/10 职场文书
学习与创新自我评价
2015/03/09 职场文书
离职告别感言
2015/08/04 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python
修改并编译golang源码的操作步骤
2021/07/25 Golang
mysql的数据压缩性能对比详情
2021/11/07 MySQL
JS函数式编程实现XDM一
2022/06/16 Javascript