如何在django模型中定义bigInt []。 我试过了
name = models.CommaSeparatedIntegerField(max_length = 500)
ss = SomeModel()
ss.name = '23, 23'
ss.save()
这给了我诚信错误。我怎样才能解决这个问题。 使用django 1.2
谢谢,
答案 0 :(得分:0)
尝试
max_length = 255
如果有效则应检查数据库类型/版本。 例如,5.0.3之前的MySQL将不允许超过255个字符的字段。此限制适用于字符字段,其中还包括 CommaSeparatedIntegerField 。
答案 1 :(得分:0)
您应该以这种方式覆盖默认的IntegerField:
from django.db.models.fields import IntegerField
from django import forms
class BigIntegerField(IntegerField):
'''
IntegerField dont validate too large numbers so PostgreSQL database crashes
See: https://code.djangoproject.com/ticket/16747
'''
MAX_INT = 2147483647
def formfield(self, **kwargs):
defaults = {'form_class': forms.IntegerField,
'min_value':-BigIntegerField.MAX_INT - 1,
'max_value': BigIntegerField.MAX_INT}
defaults.update(kwargs)
return super(IntegerField, self).formfield(**defaults)