7.24-7.26 JLL实习日志-Django UI Modification
2017-07-28 16:44
447 查看
ManyToMany 模型
数据模型如下 ,Brand 在 model中 定义 了 一个
View 端 分为 两种 方式,由 Brand_id得到 所在 的 company_group ,或者 是 由 company_id 得到 Brand_group 两种 方式
第一种 方式 ,
第二种 方式
第三种表示的 使用 过滤的 形式,注意 在 ORM 中
数据模型如下 ,Brand 在 model中 定义 了 一个
Company_Group属性 ,显性显示 了对应 的 company的 组群 ,Company 模型 中 隐形定义了关系
class Brand(models.Model): Company_Group = models.ManyToManyField(Company) Brand_Group = models.CharField(u'Brand Group',max_length=255, default="")
class Company(models.Model): Pref_Company_Name_Flg = models.CharField(u'Preferred Name Flag',max_length=255, default="") Pref_Company_Name = models.CharField(u'Preferred Name',max_length=255, default="") Company_Type = models.CharField(u'Company Type',max_length=255, default="") Company_Name = models.CharField(u'Company Name',max_length=255, default="")
View 端 分为 两种 方式,由 Brand_id得到 所在 的 company_group ,或者 是 由 company_id 得到 Brand_group 两种 方式
第一种 方式 ,
Company_Group可以 直接使用 ,有对应 的 针对
company_instance对象 DESC的操作,显示
Company_Group的 id需要 使用
Company_Group__id的 方式 ,里面 有 两种 过滤 方式
__exact表示 精确匹配 ,
__icontains表示 的 是 模糊 匹配,
instance_id = request.GET.get('company_id') company_instance=get_object_or_404(Company,pk=int(instance_id)) brand_instance.Company_Group.add(company_instance) brand_instance.Company_Group.remove(company_instance) brand_instance.save()
第二种 方式
_set.all()的方式 ,得到
Brand_instance的对象 ,隐式 得到 显示 的 方式 ,因为 Company没有 类似
brand_group
company_instance = Company.objects.get(id=company_id) brand_instances=company_instance.brand_set.all()
第三种表示的 使用 过滤的 形式,注意 在 ORM 中
Brand,
Company模型 没有 明确 定义
id的 属性 ,使用
__id的 方式 拿到
############################### brand_instances= Brand.objects.filter(Company_Group__id__exact=company_instance.id) ############################## conversations=Conversation_Brand.objects.filter(Brand__id__icontains =id_list).order_by('-Created_On')
相关文章推荐
- 7.24-7.26 JLL实习日志-ajax+RestfulApi+Django-未完改进
- 7.8-7.10 JLL实习日志-DjangoAPI+python+json,post for many records in a time
- 5.22 JLL--实习日志--Js--to be contining
- 4.29 JLL_实习日志
- 5.17 JLL实习日志-实现get方式过滤数据,表格形式展现在前端
- 6.7-6.9 JLL--实习日志--googleAPI+Heat Map+update修改
- 5.5 JLL 实习日志
- 6.1-6.4 JLL--实习日志--filter_box,复选框+basic function
- 6.20 JLL--实习日志-- teneat关联Availabilty,retail 增删改插的函数理解
- 7.22-7.23 JLL实习日志-ManytoMany模型+python中 reload 函数
- 5.9 JLL实习日志
- 5.31 JLL--实习日志--EDIT 过期数据+2个问题
- 9.1-9. JLL实习日志-未完结
- 5.19 JLL--实习日志--view_availability前端和后端
- 6.5 JLL--实习日志
- 5.3 JLL 实习日志
- 6.15 JLL--实习日志--SetupNewWorkSpace on cloud9
- 6.16-6.19 JLL--实习日志--
- 7.11-7.13 JLL实习日志-Html排版问题+ GitHub下载问题
- 5.4 JLL 实习日志 –form 表单问题