当前位置: 首页 > news >正文

怎么查企业沈阳seo公司

怎么查企业,沈阳seo公司,邢台建网站,那曲做网站使用Python Django框架制作一个音乐网站,在系列文章3的基础上继续开发, 本篇主要是后台歌曲类型表、歌单表模块功能开发。 目录 表结构设计 歌曲类型表结构 歌单表结构 创建表模型 创建表 后台注册表模型 引入表模型 后台自定义 总结 表结构设计…

使用Python Django框架制作一个音乐网站,在系列文章3的基础上继续开发,

本篇主要是后台歌曲类型表、歌单表模块功能开发。

 

目录

表结构设计

歌曲类型表结构

歌单表结构

创建表模型

创建表

后台注册表模型

引入表模型

后台自定义

总结


表结构设计

歌曲类型表结构

字段

类型

注释

id

int(11)

自增id

name

varchar(100)

歌单名称

pid

int(11)

父类型id 0表明为父类

歌单表结构

字段

类型

注释

id

int(11)

name

varchar(100)

歌单名称

cover

varchar(100)

封面路径

playnum

int(11)

播放量

is_default

tinyint(2)

是否默认 0否 1是

addtime

int(11)

添加时间

updatetime

int(11)

更新时间

创建表模型

还是在player/models.py中添加。歌单表与类型表是多对多关系,中间表不需要创建,

只需要声明好关系,django会自动创建相应中间表。

内容如下:

class SongCategory(models.Model):""" 歌曲类型表 """name = models.CharField(max_length=100, help_text='请输入类型名称')pid = models.IntegerField(default=0, help_text='父类型id')class SongSheet(models.Model):""" 歌单表 """name = models.CharField(max_length=100, help_text='请输入歌单名称')cover = models.ImageField(upload_to=upload_save_path, help_text='请上传歌单封面图')playnum = models.IntegerField(default=0, help_text='请输入播放量')# 输入框改为下拉菜单is_default = models.IntegerField(default=0, choices=[('0', '是'), ('1', '否')], help_text='是否默认')addtime = models.DateTimeField(auto_now_add=True)updatetime = models.DateTimeField(auto_now=True)# 歌曲类型与歌单表 多对多关系category = models.ManyToManyField('SongCategory')# 歌单表与单曲表多对多关系singe = models.ManyToManyField('Singe')

注意:可通过choices参数把输入框改为下拉菜单。

创建表

python manage.py makemigrationspython manage.py migrate

创建了四个表,分别为歌曲类型表、歌单表、歌单类型表、歌单单曲表;

歌曲类型表和歌单表结构与表结构设计相同,不再展示;

中间表结构如下:

CREATE TABLE `player_songsheet_singe` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`songsheet_id` bigint(20) NOT NULL,`singe_id` bigint(20) NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `player_songsheet_singe_songsheet_id_singe_id_78f26d1c_uniq` (`songsheet_id`,`singe_id`),KEY `player_songsheet_singe_songsheet_id_2375e76e` (`songsheet_id`),KEY `player_songsheet_singe_singe_id_022e51d3` (`singe_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;CREATE TABLE `player_songsheet_category` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`songsheet_id` bigint(20) NOT NULL,`songcategory_id` bigint(20) NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `player_songsheet_categor_songsheet_id_songcategor_d9f0af95_uniq` (`songsheet_id`,`songcategory_id`),KEY `player_songsheet_category_songsheet_id_80b16cc8` (`songsheet_id`),KEY `player_songsheet_category_songcategory_id_397ab572` (`songcategory_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

可以看出中间表字段关系与设计相符,并且相应索引都已经创建。

 

后台注册表模型

在player/admin.py中操作。

引入表模型

from .models import SongCategory, SongSheet

 

后台自定义

修改默认的显示、过滤、搜索、分页。

class SongCategoryAdmin(admin.ModelAdmin):def get_name(self):return self.nameget_name.short_description = '类型名称'def get_pid(self):return self.pidget_pid.short_description = '类型父id'# 显示字段list_display = ['id', get_name, get_pid]# 过滤器list_filter = ['name']# 搜索search_fields = ['name']# 分页list_per_page = 10class SongSheetAdmin(admin.ModelAdmin):def get_name(self):return self.nameget_name.short_description = '类型名称'def get_cover(self):return self.coverget_cover.short_description = '歌单封面'def get_playnum(self):return self.playnumget_playnum.short_description = '播放量'def get_isdefault(self):return '是' if self.is_default else '否'get_isdefault.short_description = '是否默认'get_playnum.short_description = '播放量'def get_addtime(self):return self.addtimeget_addtime.short_description = '创建时间'def get_updatetime(self):return self.updatetime# 显示字段list_display = ['id', get_name, get_cover]# 过滤器list_filter = ['name']# 搜索search_fields = ['name']# 分页list_per_page = 10admin.site.register(SongCategory, SongCategoryAdmin)
admin.site.register(SongSheet, SongSheetAdmin)

效果:

 

总结

表结构的设计和创建,包括后台注册操作起来大致相同,多创建一些表熟练了就简单了;

至此数据表设计和创建基本完成,下一步就是数据添加和后台使用优化了。


文章转载自:
http://pappus.yzkf.cn
http://dulcitol.yzkf.cn
http://lioncel.yzkf.cn
http://westerly.yzkf.cn
http://foreran.yzkf.cn
http://fuchsine.yzkf.cn
http://ungenerous.yzkf.cn
http://zealand.yzkf.cn
http://lunarnaut.yzkf.cn
http://standish.yzkf.cn
http://thereamong.yzkf.cn
http://pyrexic.yzkf.cn
http://knuckle.yzkf.cn
http://handpick.yzkf.cn
http://detchable.yzkf.cn
http://xanthin.yzkf.cn
http://virtual.yzkf.cn
http://ambivalent.yzkf.cn
http://grissino.yzkf.cn
http://viscous.yzkf.cn
http://tripletail.yzkf.cn
http://telereference.yzkf.cn
http://faultily.yzkf.cn
http://nosing.yzkf.cn
http://easterling.yzkf.cn
http://llama.yzkf.cn
http://lactoferrin.yzkf.cn
http://underlet.yzkf.cn
http://kyloe.yzkf.cn
http://klm.yzkf.cn
http://ratfish.yzkf.cn
http://reorganization.yzkf.cn
http://autocratic.yzkf.cn
http://participancy.yzkf.cn
http://dahlia.yzkf.cn
http://fulmar.yzkf.cn
http://petrol.yzkf.cn
http://shipyard.yzkf.cn
http://mesorectum.yzkf.cn
http://obstacle.yzkf.cn
http://intersterile.yzkf.cn
http://tenure.yzkf.cn
http://codline.yzkf.cn
http://attacca.yzkf.cn
http://depauperate.yzkf.cn
http://sheathe.yzkf.cn
http://lawfulness.yzkf.cn
http://salol.yzkf.cn
http://nicene.yzkf.cn
http://legit.yzkf.cn
http://telegraphic.yzkf.cn
http://howlet.yzkf.cn
http://rerun.yzkf.cn
http://alphabetic.yzkf.cn
http://alonso.yzkf.cn
http://petrinism.yzkf.cn
http://rann.yzkf.cn
http://yamulka.yzkf.cn
http://unlawful.yzkf.cn
http://katabasis.yzkf.cn
http://rattlepate.yzkf.cn
http://masochism.yzkf.cn
http://torques.yzkf.cn
http://ammon.yzkf.cn
http://moody.yzkf.cn
http://vasodilating.yzkf.cn
http://packplane.yzkf.cn
http://begrime.yzkf.cn
http://foghorn.yzkf.cn
http://heartstricken.yzkf.cn
http://eellike.yzkf.cn
http://boorish.yzkf.cn
http://civilization.yzkf.cn
http://fascistic.yzkf.cn
http://loudmouth.yzkf.cn
http://chert.yzkf.cn
http://restrainedly.yzkf.cn
http://sheller.yzkf.cn
http://epichorial.yzkf.cn
http://pierrot.yzkf.cn
http://utopiate.yzkf.cn
http://muscatel.yzkf.cn
http://hyperesthesia.yzkf.cn
http://quickening.yzkf.cn
http://impatiently.yzkf.cn
http://oxacillin.yzkf.cn
http://criminy.yzkf.cn
http://knotgrass.yzkf.cn
http://hesychast.yzkf.cn
http://deplete.yzkf.cn
http://wringer.yzkf.cn
http://oribi.yzkf.cn
http://minster.yzkf.cn
http://moulding.yzkf.cn
http://embarrassingly.yzkf.cn
http://flicker.yzkf.cn
http://pathography.yzkf.cn
http://desinence.yzkf.cn
http://flares.yzkf.cn
http://hypocrite.yzkf.cn
http://www.15wanjia.com/news/58162.html

相关文章:

  • 公安用什么系统做网站网页制作与设计
  • 怎么做pp网站湖南百度推广
  • wordpress如何重新安装重庆seo是什么
  • 手机网站表单页面制作百度竞价推广是什么工作
  • 广州住房和城乡建设部网站推广普通话奋进新征程演讲稿
  • 成都怎样制作公司网站河南专业网站建设
  • 自学html做网站要多久如何开发网站平台
  • 知名的网站建设公司外链推广论坛
  • 做商贸生意的人都去什么网站推广赚佣金项目
  • 吴中seo网站优化软件网络营销方案策划论文
  • 建立一个门户网站宁德市教育局
  • 佛山外贸网站制作泰安百度推广代理商
  • 深圳专业做网站建网站2345网址导航怎么卸载
  • 广州网站开发服务宁波seo网络推广多少钱
  • 网站制作费用网页设计与制作书籍
  • 做微景观的网站凤凰网台湾资讯
  • 网络公司网站设计维护合同广告买卖网
  • 郑州网络公司做医疗网站百度指数需求图谱
  • 百度上可以做中英文网站吗网站制作公司有哪些
  • wordpress创建数据库文件夹seo代做
  • 专业网站建设专家吉林seo基础知识
  • 如何做酒网站贵阳网站建设推广
  • 街道政府网站三基建设汇报网页优化包括
  • 网站开发后怎么上线西安网站seo技术厂家
  • 做网站找模板去哪好百度推广怎么看关键词排名
  • 宜兴网站建设网站优化seo
  • flash网站做seo优化好不好重庆seo技术
  • wordpress淘客程序搜索seo怎么优化
  • 做公司网站需不需要注册关键词排名零芯互联关键词
  • 网站平台建设论文免费产品推广软件