Почему один использует max_length CharField, равный 2 ^ n, в то время как другие используют 2 ^ n-1?
Например:
в django.contrib.gis.db.backends.postgis.models (django 1.3):
класс SpatialRefSys (models.Model, SpatialRefSysMixin):
srtext = models.CharField (max_length = 2048)
в django_openid_auth.models (djano-openid-auth 0.3):
класс Nonce (models.Model):
server_url = models.CharField (max_length = 2047)
Хотя это не научная мера, 2048 кажется более популярным, чем 2047 , но 255 более популярен, чем 256 . В документации Django сказано, что в MySQL max_length ограничена 255 символами, если вы используете unique = True . Но почему я должен использовать 2 ^ n-1 вместо od 2 ^ n в других случаях?