本文参考自:django官方文档models/field 在model中添加字段的格式一般为:  field_name = field_type(**field_options) 一  field options(所有字段共用) 1  null   默认为False,True则表示可以为null.(空字符串在数据库中可能被存储为'') 2  blank  默认为False,True表示可以为空. 3  choice  可选的,限制了该选项的字段值必须是所指定的choice中的一个. class…
一.使用数据库需要设置settings.py文件. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': '', # Or path to database file if using sqlite3. 'USER': '', # Not used with sqlite3. 'PASSWORD…
学习了ORM模板中常用的字段以及使用方法,具体如下: from django.db import models # Create your models here. # 如果要将一个普通的类映射到数据库,必须设置其父类为models.Model class Book(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=100, null=False) author =…
在Django中无论何种field,都有一个widget的属性: class Field(object): widget = TextInput # Default widget to use when rendering this type of Field. hidden_widget = HiddenInput # Default widget to use when rendering this as "hidden". 如上所示,widget默认是TextInput. 而Te…
问题 在django的models.py 中,我们定义了一些choices的元组,类似一些字典值,一般都是下拉框或者单多选框,例如 0对应男 1对应女等等 看下例子: class Area(models.Model): Area_Level = ( (0, u'全国'), (1, u'省.直辖市'), (2, u'市.直辖市区'), (3, u'区.县等'), ) areaname = models.CharField(max_length=30,unique=True, verbose_nam…
一.字段联合使用的限制设置: 有这么个需求,现有两个字段,A字段是选择用户是不是vip, B字段是统计用户的vip等级; 要求: 用户不是vip时,A选择false,B字段为空; 是vip时,A字段选择true,B字段就必须填用户的vip等级! 即B字段可为空,A字段须是true时,B字段就必须有值,否则后续查询就必然出错,所以单单使用 字段属相能否为空无法限制.解决:利用对象的save()方法,我们可自定义save,然后再调用父类该 方法之前做个判断,不满足要求就抛出异常,代码如下:(在表类中…
django 表的理解 好处:设计的好,会清晰,易于理解和维护,后期开发事半功倍,一目了然. 1. 一对一的表,两表的属性实际上完全可以合并成一个表,共用一个主键即可: 2. 一对多的表,可以设中间关联表,也可以将关联表并入“多”这头:若设独立关联表,则可引入“多”这头的主键作为其主键,也可另立主键并将“一”和“多”两表的主键作为关联表的外键: 3. 多对多的表,则必须设中间关联表,关联表设独立主键,并引入两个“多”头的表的主键作为关联表的外键. 4. 能用1对1的,就不用1对多:能用1对多的,…
例: 文章点赞 class ArticleUpDown(models.Model): """ 点赞表 """ nid = models.AutoField(primary_key=True) user = models.ForeignKey(to="UserInfo", null=True, on_delete=models.CASCADE) article = models.ForeignKey(to="Artic…
装饰器作用 decorator是当今最流行的设计模式之一,很多使用它的人并不知道它是一种设计模式.这种模式有什么特别之处? 有兴趣可以看看Python Wiki上例子,使用它可以很方便地修改对象行为,通过使用类似例中的接口将修改动作封装在装饰对象中. decorator 可以动态地修改函数.方法或类的功能,而无需创建子类或修改类的源代码.正因为如此,装饰器可以让代码将变得更干净.更可读.更可维护(这很重要!),并且减少了许多冗余但又不得不写的代码,使我们可以使用单个方法向多个类添加功能. 对于装…
装饰器作用 decorator是当今最流行的设计模式之一,很多使用它的人并不知道它是一种设计模式.这种模式有什么特别之处? 有兴趣可以看看Python Wiki上例子,使用它可以很方便地修改对象行为,通过使用类似例中的接口将修改动作封装在装饰对象中. decorator 可以动态地修改函数.方法或类的功能,而无需创建子类或修改类的源代码.正因为如此,装饰器可以让代码将变得更干净.更可读.更可维护(这很重要!),并且减少了许多冗余但又不得不写的代码,使我们可以使用单个方法向多个类添加功能. 对于装…