http://docs.djangoproject.com/en/dev/howto/custom-model-fields/#howto-custom-model-fields
создал такой пользовательский тип
class FixCharField(models.Field):
def __init__(self, max_length, *args, **kwargs):
self.max_length = max_length
super(FixCharField, self).__init__(*args, **kwargs)
def db_type(self):
return 'char(%s)' % self.max_length
fieldname = FixCharField(8)
fieldname char(None)
return 'char(%d)' % self.max_length
TypeError: int argument required
Если делать явное присвоение целого числа, то ошибка всё равно остается.
def __init__(self, max_length, *args, **kwargs):
self.max_length = 8 #max_length
И такой вариант не работает! Выдает char(None)
class FixCharField(models.Field):
def __init__(self, max_length, *args, **kwargs):
self.max_length = '10' #max_length
super(FixCharField, self).__init__(*args, **kwargs)
def db_type(self):
return 'char(%s)' % self.max_length