--查询某个表是否有唯一主键 select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name ='表名' --查询某个表是否有联合主键 select cu.* from user_cons_columns cu, user_constraints au whe…
django中不支持双主键.多主键. 要实现类似功能可以: classMeta: unique_together=(("driver","restaurant"),) 里边两个元素联合去重的. 既是复合主键 注意使用这种方法不要设置主键,让django自己生成一个id作为主键即可. 参考:http://docs.djangoproject.com/en/dev/ref/models/options/#unique-together…
from http://www.cnblogs.com/lhj588/archive/2012/05/24/2516040.html Django 通过 models 实现数据库的创建.修改.删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长.你通常不需要直接使用这个字段:如果你不指定主键的话,系统会自动添加一个主键字段到你的model.(参阅自动主键字段) BooleanField:布尔字段,管理工具里会自动将其描…
一.Django框架的常用字段 Django ORM 常用字段和参数 常用字段 常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型,范围在 -2147483648 to 2147483647.(一般不用它来存手机号(位数也不够),直接用字符串存,) CharField 字符类型,必须提供max_length参数, max_length表示字符长度. 这里…
一.字段联合使用的限制设置: 有这么个需求,现有两个字段,A字段是选择用户是不是vip, B字段是统计用户的vip等级; 要求: 用户不是vip时,A选择false,B字段为空; 是vip时,A字段选择true,B字段就必须填用户的vip等级! 即B字段可为空,A字段须是true时,B字段就必须有值,否则后续查询就必然出错,所以单单使用 字段属相能否为空无法限制.解决:利用对象的save()方法,我们可自定义save,然后再调用父类该 方法之前做个判断,不满足要求就抛出异常,代码如下:(在表类中…
unique_together解释 nique_together 这个元数据是非常重要的一个!它等同于数据库的联合约束! 举个例子,假设有一张用户表,保存有用户的姓名.出生日期.性别和籍贯等等信息.要求是所有的用户唯一不重复,可现在有好几个叫“张伟”的,如何区别它们呢?(不要和我说主键唯一,这里讨论的不是这个问题) 我们可以设置不能有两个用户在同一个地方同一时刻出生并且都叫“张伟”,使用这种联合约束,保证数据库能不能重复添加用户(也不要和我谈小概率问题).在Django的模型中,如何实现这种约束…
model field 类型1.AutoField     一个自增的IntegerField,一般不直接使用,Django会自动给每张表添加一个自增的primary key. 2.BigIntegerField    64位整数, -9223372036854775808 到 9223372036854775807.默认的显示widget 是 TextInput. 3.BinaryField ( Django 1.6 版本新增 )    存储二进制数据.不能使用 filter 函数获得 Que…
多个字段对应一个外键时,会报错,如: class Storehouse_list(models.Model):#库位列表 nid = models.AutoField(primary_key=True) title = models.CharField(max_length=32)#仓库名称 class Storehouse_change(models.Model):#调库单 nid = models.AutoField(primary_key=True) matter = models.For…
obj._meta.fields 为关键 obj为model类 推荐使用函数 from django.apps import apps def getmodelfield(appname,modelname,exclude): """ 获取model的verbose_name和name的字段 """ modelobj = apps.get_model(appname, modelname) filed = modelobj._meta.field…
在看<Learning SQL>第二版, 慢慢打实SQL的基础. 建表一: ), lname ), gender ENUM(), city ), state ), country ), postal_code ), CONSTRAINT pk_person PRIMARY KEY (person_id) ); 建表二: ), CONSTRAINT pk_favorite_food PRIMARY KEY (person_id, food), CONSTRAINT fk_fav_food_per…