views:

29

answers:

2

"What is the biggest integer the model field that this application instance can handle?"

We have sys.maxint, but I'm looking for the database+model instance. We have the IntegerField, the SmallIntegerField, the PositiveSmallIntegerField, and a couple of others beside. They could all vary between each other and each database type.

I found the "IntegerRangeField" custom field example here on stackoverflow. Might have to use that, and guess the lowest common denominator? Or rethink the design I suppose.

Is there an easy way to work out the biggest integer an IntegerField, or its variants, can cope with?

A: 

It depends on your database backend.

Use ./manage.py sql your_app_name to check generated types for your DB-columns, and look through your database documentation for type ranges.

For MySQL: http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html

For PostgreSQL: http://www.postgresql.org/docs/8.1/static/datatype.html#DATATYPE-TABLE

Leonid Shvechikov
A: 

Can't be easily done. Just set a constant and use that.

MAX_SMALL_INT = 32767

position = models.PositiveSmallIntegerField(default=MAX_SMALL_INT)
John Mee