django CharField类型在Mysql 中是varchar类型,有时候需要使用char类型,那如何自定义字段类型呢?其实很简单
from django.db import models
class BetterCharField(models.Field):
def __init__(self, length, *args, **kwargs):
self.length = length
super(BetterCharField, self).__init__(*args, **kwargs)
def db_type(self, connection):
return 'char(%s)' % self.length
class MyModel(models.Model):
my_field = BetterCharField(25)
其他字段类型也类似,官网资料 : https://docs.djangoproject.com/en/1.3/howto/custom-model-fields/