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 命令行参数sys.argv
Sep 06 Python
python中的计时器timeit的使用方法
Oct 20 Python
python实现对指定输入的字符串逆序输出的6种方法
Apr 26 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
Mar 05 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
Jun 04 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
在TensorFlow中屏蔽warning的方式
Feb 04 Python
pytorch实现CNN卷积神经网络
Feb 19 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
Apr 29 Python
Python爬取豆瓣数据实现过程解析
Oct 27 Python
python numpy中multiply与*及matul 的区别说明
May 26 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动态输出JavaScript代码实例
2015/02/12 PHP
php判断两个浮点数是否相等的方法
2015/03/14 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
javascript重写alert方法的实例代码
2013/03/29 Javascript
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
JavaScript实现控制打开文件另存为对话框的方法
2015/04/17 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
微信小程序控制台提示warning:Now you can provide attr &quot;wx:key&quot; for a &quot;wx:for&quot; to improve performance解决方法
2019/02/21 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
vue使用recorder.js实现录音功能
2019/11/22 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
Django用户认证系统 组与权限解析
2019/08/02 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
2020/03/08 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
Python爬虫教程知识点总结
2020/10/19 Python
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
怎么可以提高数据库查询数据的速度
2014/06/28 面试题
网站出售协议书范文
2014/10/10 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
开会通知短信大全
2015/04/20 职场文书
新闻发布会新闻稿
2015/07/17 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python
golang中的struct操作
2021/11/11 Golang
直播实况, OMG破敌三路五十分钟大战神技局摩托车
2022/04/01 DOTA
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android