7.24-7.26 JLL实习日志-Django UI Modification

  1. ManyToMany 模型
    数据模型如下 ,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 中 BrandCompany模型 没有 明确 定义 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')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值