本文介绍: 如果你没有指定任何一个字段primary_key=True, Django 就会自动添加一个IntegerField字段做为主键,所以除非你想覆盖默认主键行为, 否则没必要设置任何一个字段primary_key=True。如果为True,该字段允许不填。null纯粹是数据库范畴的,而 blank数据验证范畴的。如果一个字段的blank=True表单验证将允许该字段是空值。如果字段的blank=False,该字段就是必填的。如果该值设置为 True, 这个数据字段的值在整张表中必须是唯一的。

null

如果为True,Django 将用NULL 来在数据库存储空值默认值是 False.

blank 后台管理—》admin中会用,咱们一般用的少

如果为True,该字段允许不填。默认为False。 要注意,这与 null 不同null纯粹是数据库范畴的,而 blank数据验证范畴的。 如果一个字段的blank=True表单的验证将允许该字段是空值。如果字段的blank=False,该字段就是必填的。

default

字段的默认值可以一个值或者可调用对象。如果可调用 ,每有新对象创建它都会被调用

primary_key

如果为True,那么这个字段就是模型主键。如果你没有指定任何一个字段的primary_key=True, Django 就会自动加一个IntegerField字段做为主键,所以除非你想覆盖默认的主键行为, 否则没必要设置任何一个字段的primary_key=True。

unique

如果该值设置为 True, 这个数据字段的值在整张表中必须是唯一

db_index :该字段建立索引

默认db_index=Ture

关于Meta

javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdown

class UserInfo(models.Model):
	nid = models.AutoField(primary_key=True,index=True)
	username = models.CharField(max_length=32)
	mobile=models.CharField(max_length=32)
	class Meta:
# 数据库生成表名称 默认 app名称 + 下划线 + 类名
		db_table = "tablye_name"   	p    
# 联合索引
		index_together = [["pub_date", "deadline"]]

       # 联合唯一索引
		unique_together = ("driver", "restaurant")
       # admin显示表名verbose_name='图书表'

       # verbose_names
       verbose_name_plural
4、ordering--排序
对象默认的顺序获取一个对象列表使用ordering = ['-order_date']
它是一个字符串的列表元组。每个字符串是一个字段名前面带有可选的“-”前缀表示倒序。前面没有“-”的字段表示正序使用"?"来表示随机排序例如,要按照pub_date字段的正序排序,这样写:ordering = ['pub_date']
按照pub_date字段的倒序排序,这样写:ordering = ['-pub_date']
先按照pub_date的倒序排序,再按照 author 的正序排序,这样写:  ordering = ['-pub_date', 'author']
警告:
  排序并不是没有任何代价的操作。你向ordering属性添加每个字段都会产生你数据库的开销。你添加每个外键也会隐式包含它的默认顺序

原文地址:https://blog.csdn.net/weixin_41774149/article/details/134769420

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_36510.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注