Index: oldforms/__init__.py
===================================================================
--- oldforms/__init__.py	(r‚vision 4274)
+++ oldforms/__init__.py	(copie de travail)
@@ -744,6 +744,20 @@
         if not 0 <= int(field_data) <= 32767:
             raise validators.CriticalValidationError, gettext("Enter a whole number between 0 and 32,767.")
 
+class BigIntegerField(IntegerField):
+    def __init__(self, field_name, length=20, maxlength=None, is_required=False, validator_list=None, member_name=None):
+        if validator_list is None: validator_list = []
+        validator_list = [self.isInteger] + validator_list
+        if member_name is not None:
+            self.member_name = member_name
+        IntegerField.__init__(self, field_name, length, maxlength, is_required, validator_list)
+
+class PositiveBigIntegerField(PositiveIntegerField):
+    def __init__(self, field_name, length=20, maxlength=None, is_required=False, validator_list=None):
+        if validator_list is None: validator_list = []
+        validator_list = [self.isPositive] + validator_list
+        IntegerField.__init__(self, field_name, length, maxlength, is_required, validator_list)
+
 class FloatField(TextField):
     def __init__(self, field_name, max_digits, decimal_places, is_required=False, validator_list=None):
         if validator_list is None: validator_list = []
Index: db/models/fields/__init__.py
===================================================================
--- db/models/fields/__init__.py	(r‚vision 4274)
+++ db/models/fields/__init__.py	(copie de travail)
@@ -703,6 +703,14 @@
     def formfield(self, initial=None):
         return forms.IntegerField(required=not self.blank, label=capfirst(self.verbose_name), initial=initial)
 
+class BigIntegerField(IntegerField):
+    def get_manipulator_field_objs(self):
+        return [oldforms.BigIntegerField]
+
+class PositiveBigIntegerField(IntegerField):
+    def get_manipulator_field_objs(self):
+        return [oldforms.PositiveBigIntegerField]    
+
 class IPAddressField(Field):
     def __init__(self, *args, **kwargs):
         kwargs['maxlength'] = 15
Index: db/backends/mysql/introspection.py
===================================================================
--- db/backends/mysql/introspection.py	(r‚vision 4274)
+++ db/backends/mysql/introspection.py	(copie de travail)
@@ -83,7 +83,7 @@
     FIELD_TYPE.FLOAT: 'FloatField',
     FIELD_TYPE.INT24: 'IntegerField',
     FIELD_TYPE.LONG: 'IntegerField',
-    FIELD_TYPE.LONGLONG: 'IntegerField',
+    FIELD_TYPE.LONGLONG: 'BigIntegerField',
     FIELD_TYPE.SHORT: 'IntegerField',
     FIELD_TYPE.STRING: 'TextField',
     FIELD_TYPE.TIMESTAMP: 'DateTimeField',
Index: db/backends/mysql/creation.py
===================================================================
--- db/backends/mysql/creation.py	(r‚vision 4274)
+++ db/backends/mysql/creation.py	(copie de travail)
@@ -14,12 +14,14 @@
     'FloatField':        'numeric(%(max_digits)s, %(decimal_places)s)',
     'ImageField':        'varchar(100)',
     'IntegerField':      'integer',
+    'BigIntegerField':   'bigint',
     'IPAddressField':    'char(15)',
     'ManyToManyField':   None,
     'NullBooleanField':  'bool',
     'OneToOneField':     'integer',
     'PhoneNumberField':  'varchar(20)',
     'PositiveIntegerField': 'integer UNSIGNED',
+    'PositiveBigIntegerField': 'bigint UNSIGNED',    
     'PositiveSmallIntegerField': 'smallint UNSIGNED',
     'SlugField':         'varchar(%(maxlength)s)',
     'SmallIntegerField': 'smallint',
Index: contrib/admin/views/doc.py
===================================================================
--- contrib/admin/views/doc.py	(r‚vision 4274)
+++ contrib/admin/views/doc.py	(copie de travail)
@@ -301,12 +301,14 @@
     'ForeignKey'                : _('Integer'),
     'ImageField'                : _('File path'),
     'IntegerField'              : _('Integer'),
+    'BigIntegerField'           : _('Integer'),
     'IPAddressField'            : _('IP address'),
     'ManyToManyField'           : '',
     'NullBooleanField'          : _('Boolean (Either True, False or None)'),
     'OneToOneField'             : _('Relation to parent model'),
     'PhoneNumberField'          : _('Phone number'),
     'PositiveIntegerField'      : _('Integer'),
+    'PositiveBigIntegerField'   : _('Integer'),
     'PositiveSmallIntegerField' : _('Integer'),
     'SlugField'                 : _('String (up to %(maxlength)s)'),
     'SmallIntegerField'         : _('Integer'),
