class Main(models.Model):
img = models.CharField(max_length=200) # 图片
name = models.CharField(max_length=100) # 名称
trackid = models.CharField(max_length=16) # 通用id

class Meta:
abstract = True #抽象类
class MainWheel(Main):
# 轮播banner
class Meta:
db_table = 'axf_wheel'
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()

class Meta:
ordering = ['order_date']
# 按订单升序排列
    以上三种class Meta是比较常用的,所以大概回顾一下。查了一些资料,才勉强搞懂。首先class Meta做为嵌套类,主要目的是给上级类添加一些功能,或者指定一些标准。

比如第一个abstract=True这个东东,是为了继承,将该基类定义为抽象类,即不必生成数据库表单,只作为一个可以继承的基类,把一些子类必须的代码放在基类,避免重复代码也避免重复录入数据库。大概是这么个意思吧?

再比如db_table='xxxx'这个东东更简单些,其实就是指定该类的数据库表单名字。当然如果不指定也没关系,Django会自动默认的按照一定规则生成数据模型对应的数据库表名。至于合不合你的意那就得看缘分了,所以自己指定往往比较好。

又比如ordering=‘xxxxx’,是表示按照指定的字段进行数据库的排序。主要是为了好看好查找。你可以指定任意的表单名称或内容,数据库生成之后就会按照指定的列进行排序。还可以升序降序随机,唉反正挺复杂的。

其实以上三种Django中model嵌套类的元数据定义,都涉及不少的知识点且有多种选择和用法。甚至这种嵌套类中可以有十几种不同的元数据定义方法,真要研究下去晕都晕死了。还好没有一个选项是必需的. 是否添加class Meta 到你的 model 完全是可选的。以后用到什么再查吧,太复杂了。我学习的不好,尽量遇到什么就搞懂什么吧。

最新文章

  1. document.forms用法
  2. Photon服务器进阶&一个新游戏的出产(二)
  3. 编写一个Singleton程序(单例)
  4. AngularJS(17)-Angular小程序
  5. 六、Socket之UDP异步传输文件-实现稳定的文件传输
  6. C#。3 循环
  7. 发现SQL Server惊天大秘密!!
  8. Java集成开发环境--Eclipse for J2EE配置JRE运行环境
  9. 前端 PC端兼容性问题总结
  10. 从On-Premise本地到On-Cloud云上运维的演进
  11. 【wif系列】C#之单例模式(Singleton Pattern)最佳实践
  12. eclipse 部署项目
  13. java框架之MyBatis(1)-入门&动态代理开发
  14. Laravel返回不重复的某个字段信息列表
  15. Linux查看系统进程
  16. windows命令:control命令
  17. BubblePopupWindow
  18. 别真以为JavaScript中func.call/apply/bind是万能的!
  19. soapUI的bug切换版本解决
  20. java 编写小工具 尝试 学习(一)

热门文章

  1. 【LeetCode】900. RLE Iterator 解题报告(Python & C++)
  2. Hamburger Magi(hdu 3182)
  3. Problem 2233 ~APTX4869
  4. 【C++】指针初始化
  5. [Xavier] Understanding the difficulty of training deep feedforward neural networks
  6. JSP中的九大内置对象
  7. IT6516DP转VGA转换器|替代台湾联阳IT6516方案|CS5212Capstone
  8. Java的generator工具类,数据库生成实体类和映射文件
  9. 使用 jQuery 操作页面元素的方法,实现浏览大图片的效果,在页面上插入一幅小图片,当鼠标悬停到小图片上时,在小图片的右侧出现与之相对应的大图片
  10. 什么是NaN?它的类型是什么?如何可靠的测试一个值是否等于NaN?