码迷,mamicode.com
首页 > 其他好文 > 详细

django content-type使用

时间:2018-02-26 23:10:23      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:foo   end   https   pre   objects   shortcut   foreign   name   技术   

技术分享图片
 1 from django.db import models
 2 
 3 from django.contrib.contenttypes.models import ContentType
 4 from django.contrib.contenttypes.fields import GenericForeignKey,GenericRelation
 5 # Create your models here.
 6 class Food(models.Model):
 7     name = models.CharField(max_length=32)
 8     coupon = GenericRelation("Coupon")
 9 class Cloth(models.Model):
10     name = models.CharField(max_length=32)
11     coupon = GenericRelation("Coupon")
12 class Coupon(models.Model):
13 
14     name = models.CharField("活动名称",max_length=64)
15     brief = models.TextField(blank=True,null=True,verbose_name="优惠券介绍")
16     content_type = models.ForeignKey(ContentType,blank=True,null=True) # 代表哪个app下的哪张表
17     object_id = models.PositiveIntegerField("绑定商品",blank=True,null=True) # 代表哪张表中的对象id
18     content_obj = GenericForeignKey("content_type","object_id") #不会生成额外的列
models
技术分享图片
 1 from django.shortcuts import render,HttpResponse
 2 from . import models
 3 
 4 def xxx(request):
 5 
 6     # c = models.Cloth.objects.get(id=1)
 7     # models.Coupon.objects.create(name=‘优惠券‘,brief=‘100减10‘,content_obj=c)
 8 
 9     # c = models.Cloth.objects.get(id=1)
10     # models.Coupon.objects.create(name=‘优惠券‘,brief=‘200减30‘,content_obj=c)
11 
12     # 查看优惠券绑定的所有商品
13     # c = models.Coupon.objects.get(id=1)
14     # print(c.content_obj)
15 
16     # 查看该商品下的所有优惠券
17     c = models.Food.objects.get(id=4)
18     print(c.coupon.all())
19     c2 = models.Food.objects.values(name,coupon__brief)
20     print(c2)
21     c3 = models.Coupon.objects.get(id=1)
22     print(c3.content_obj)
23 
24     return HttpResponse(ok)
views

摘自:https://www.cnblogs.com/c491873412/p/7892585.html

django content-type使用

标签:foo   end   https   pre   objects   shortcut   foreign   name   技术   

原文地址:https://www.cnblogs.com/fenglin0826/p/8476091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!