2015-02-11 74 views
0

我在我的模型(针对Oracle数据库)中有以下字符字段。Django Oracle数据库 - Varchar2对NVarchar2

trans_status = models.CharField(max_length=10, blank=True, null=True) 

为什么Django将此字段创建为NVARCHAR2而不是VARCHAR2?我的意思是,

为什么

trans_status   NVARCHAR2(10) NULL, 

,而不是

trans_status   VARCHAR2(10) NULL, 

的区别是什么? Django如何决定一个而不是另一个?

回答

1

NVARCHAR2将数据存储具有16位的字符,并VARCHAR2将存储与8位字符中的数据。 NVARCHAR2将存储unicode字符(如阿拉伯字符),但会消耗比VARCHAR2多两倍的尺寸。