本文介绍: 如果你没有指定任何一个字段的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 :该字段建立索引
关于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_name加s
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进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。