column是什么意思

更新时间:2022-12-28 05:37:39 阅读: 评论:0


2022年12月28日发(作者:我的信念 阅读答案)

Django:model中的ForeignKey理解

有两个数据模型栏⽬模型和⽂章模型ArticleColumn和ArticlePost

ArticleColumn:

classArticleColumn():

#⽤户与栏⽬是“⼀对多”关系,所以⽤ForeignKey,⼀个⽤户可以设置多个栏⽬,此处的ur字段对应实际表中的ur_id,来⾃于Ur表中主键

ur=nKey(Ur,related_name='article_column')

column=eld(max_length=100)

created=meField(auto_now_add=True)

ArticlePost:

classArticlePost():

author=nKey(Ur,related_name='article')

title=eld(max_length=200)

slug=eld(max_length=500)

column=nKey(ArticleColumn,related_name='article_column')

body=eld()

created=meField(default=())

updated=meField(auto_now_add=True)

#media/%Y%m%d/为图⽚的真实放置路径,因为ttings中已经配置了MEDIA_ROOT为media⽂件夹,blank=True允许表单的该字段对应值为空,意思是⾮必填字段

avatar=ield(upload_to='%Y%m%d/',blank=True)

可以看到在ArticlePost模型中有⼀个字段为column,且类型为ForeignKey,意思是外键,代表的是“多对⼀”的关系,第⼀个参数ArticleColumn是对应的模型名称,related_name

为反查时的关联名称。

多对⼀指的是,多个⽂章可以对应⼀个栏⽬,⽐如有10篇⽂章都是属于django栏⽬的(当然⼀个⽂章也可以对应多个栏⽬,这样就是多对多关系了:ManyToManyField,此处我

们设计不存在这种情况),

有了外键关系后,那如何去查询某篇⽂章对应的所属栏⽬呢?

article=(id=150)

如果不使⽤外键关系,想查询某篇⽂章对应的所属栏⽬呢?

#获取该⽂章对象

article=(id=150)

#找到该⽂章对象对应的column_id,column_id这⼀列就是因为ArticlePost模型中有column字段且将ArticleColumn作为外键,所以将ArticleColumn模型对应表中的主键id的值作为column_id的值,将列名命名为column_id

_id

#根据上⾯查出来的id找到该栏⽬对象

column=(id=_id)

#输出栏⽬名称

那怎么反查某个栏⽬下有多少⽂章呢?

#查询出叫django的栏⽬

column=(column='django')

#通过column这个实例.article_(),查询出该栏⽬下的所有⽂章,article_column就是在ArticlePost模型中的related_name的值

e_()

#反查django这个栏⽬下title中包含'list'字符串的⽂章

e_(title__contains='list')

本文发布于:2022-12-28 05:37:39,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/44956.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:英语翻译器
下一篇:ctm是什么
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图