CharField max_length 2 ^ n vs 2 ^ n-1

Почему один использует 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 в других случаях?

7
задан jinowolski 29 August 2011 в 16:35
поделиться