标签和文章是多对多的关系

实现一,使用M2M自动创建第三张表

class Article(models.Model):...tag = models.ManyToManyField(Tag, related_name='tag', verbose_name='标签')...class Tag(models.Model):"""标签"""title = models.CharField(max_length=30, verbose_name='标签')blog = models.ForeignKey(Blog, related_name='tag_blog', on_delete=models.CASCADE)add_time = models.DateTimeField(default=datetime.now(), verbose_name='创建时间')class Meta:verbose_name_plural = '标签'def __str__(self):return self.title

视图中查询文章列表

# tag直接等于其id
article_list = Article.objects.filter(blog=blog, tag=int(val)).all()

实现二,自己定义第三张表

class ArticleToTag(models.Model):# to_field指定关联的主表的某个字段tag = models.ForeignKey(to=Tag, verbose_name='文章', to_field='id')article = models.ForeignKey(to=Article, verbose_name='标签', to_field='id')class Meta:# 联合唯一unique_together = [('tag', 'article')]

在视图中查询文章列表

# 因为设置的是外键,所以使用tag_id
article_list = ArticleToTag.objects.filter(blog=blog, tag_id=int(val)).all()
for item in article_list:print(item.article)

自定义第三张表并使用M2M字段

class Article(models.Model):...   tag = models.ManyToManyField(to='Tag',through='ArticleToTag',through_fields=('article', 'tag'))class Meta:verbose_name_plural = '文章'

个人博客标签和文章的表结构设计相关推荐

  1. .NET Core 实现定时抓取博客园首页文章信息并发送到邮箱

    前言 大家好,我是晓晨.许久没有更新博客了,今天给大家带来一篇干货型文章,一个每隔5分钟抓取博客园首页文章信息并在第二天的上午9点发送到你的邮箱的小工具.比如我在2018年2月14日,9点来到公司我就 ...

  2. 利用requests库模拟访问博客来提升文章阅读量

    利用requests库模拟访问博客来提升文章阅读量 一.概述 二.简陋版程序 三.升级版程序 一.概述 有的同学在csdn上写了文章之后,看着自己文章的阅读量,少的可怜,不禁希望能把阅读量快速涨上去, ...

  3. 【爬虫】利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地址并写入Excel中(2)...

    [爬虫]利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地址并写入Excel中(2) 第一篇( http://blog.itpub.net/26736162/viewspace-22865 ...

  4. php插入音乐代码,如何修改Wordpress博客代码在文章中插入音乐 | 垃圾站

    垃圾站博客昨天在网上看到有一篇通过修改Wordpress博客代码在文章中插入音乐的教程,特此整理编辑后分享给大家,教程如下: 1.下载swf播放器(点击下载:player.swf )上传到Wordpr ...

  5. 快过年了,博客园里的文章也变少了

    快过年了,博客园里的文章也变少了,大家都开始休息了吗? 转载于:https://www.cnblogs.com/RobotTech/archive/2008/02/03/1063461.html

  6. 使用metablog迁移博客园的文章

    有时候我们希望能将自己所有博客园的文章迁移到其他的博客site,大家可能最先想到的就是metablog,没错,只有它了. 首先搜索了一下,很容易搜到老赵这篇文章 "一次批量修改博客文章的经验 ...

  7. 怎么博客圆的文章越来越杂?

    最近发现怎么博客圆的文章越来越杂? PHP,JAVA等非.NET技术也来拉 好象博客圆现在不是一个纯.NET社区拉 管理员是不是该采取一些手段来防止这种现象的扩大

  8. 博客版面设计~文章填充

    博客版面设计~文章填充博客版面设计~文章填充博客版面设计~文章填充博客版面设计~文章填充博客版面设计~文章填充博客版面设计~文章填充博客版面设计~文章填充博客版面设计~文章填充博客版面设计~文章填充博 ...

  9. 基于博客标签的多标签分类器(multi-label classification)

    一.写在前面的话 最近项目需要做一个针对内容的打标签系统,这里的内容是CSDN网站上面用户创作的内容,例如,博客.问答等,打上CSDN统一标签之后有利于对内容的归类和检索,即知识的结构化. CSDN统 ...

最新文章

  1. 明晚直播 | 做持有专利的程序员很难吗?专家教你如何申请!
  2. boost::contract模块实现separate body的测试程序
  3. python编写成绩及格不及格_python小练习:读入一个考试得分,判断这个分数是哪个等级,并输出,考虑异常场景...
  4. vue --- v-html、v-bind
  5. 判断文件是否存在一个API函数
  6. 计算机二级网址打不开,大神为你解决win7系统打不开二级网页链接的操作教程...
  7. windows修改远程桌面RDP连接数
  8. python十进制转二进制,八进制和十六进制
  9. 对Redis单线程的一些看法
  10. 铵钮提交事件PostBack之后,一些动态加载的物件丢失
  11. 请不要再蹭我了,谢谢
  12. MFC视类(view)、框架类(MainFrame)关系梳理
  13. Can't update 分支名 has no tracked branch
  14. 如何打印计算机文档目录,word怎么把目录显示出来
  15. java读文件换行_java读取文本文件txt时候的换行问题
  16. 游戏美术和策划,你感兴趣吗
  17. 家居收纳风行,东芝冰箱足以装下你想要的品质生活
  18. Idea 编译报错:Ambiguous method call. Both...
  19. oppo便签误删怎么办_OPPO手机便签删除了怎么恢复?有无需登录云端就可以恢复的备忘录软件吗...
  20. 互联网晚报 | 12月29日 星期三 | 小米正式宣布对标苹果;新东方上线直播带货平台“东方甄选”;相互宝将于明年1月28日关停...

热门文章

  1. 语法俱乐部3:动词时态
  2. ACM-ICPC 2018 焦作赛区网络预赛 L. Poor God Water
  3. Carmack(卡马克)传奇的3D引擎开源代码
  4. 2018年第九届蓝桥杯真题解析 | 日志统计【Python】
  5. Intellij IDEA中使用git命令窗口
  6. H5架设新手小白搭建教程(适用于新手)
  7. iPhone像素点和常用控件尺寸
  8. 自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 Noisy relationships
  9. VC中字符串形式ip地址和整数形式ip地址转换
  10. HDU 6578. Blank (DP)