Actualmente estoy construyendo un proyecto que involucra mucha inteligencia colectiva. Cada usuario que visita el sitio web se crea un perfil único y sus datos se utilizan luego para calcular las mejores coincidencias para ellos y otros usuarios.Django BigInteger autoincremento de campo como clave principal?
De forma predeterminada, Django crea un campo INT (11) id
para manejar las claves primarias de los modelos. Me preocupa que esto se desborde muy rápidamente (es decir, ~ 2.4b dispositivos que visitan la página sin configuración previa de cookies). ¿Cómo puedo cambiarlo para que se represente como BIGINT en MySQL y long() dentro de Django?
he encontrado lo que podía hacer lo siguiente (http://docs.djangoproject.com/en/dev/ref/models/fields/#bigintegerfield):
class MyProfile(models.Model):
id = BigIntegerField(primary_key=True)
Pero hay una manera para que sea incrementado automáticamente, como de costumbre id
campos? Además, ¿puedo hacerlo sin firmar para que tenga más espacio para completar?
Gracias!
creo que esto no ayudaría, como Django todavía poner de identificación en int normal, que todavía es demasiado pequeño. – letoosh
No, en absoluto, el punto aquí es cómo se almacena id en la base de datos. (Largo) tipo entero en python tiene una precisión "ilimitada". También puede comprobar cómo se implementa BigIntegerField en Django 1.2 - hereda directamente IntegreField, sin cambiar el tipo interno para almacenar el valor (que es int en este caso) – dzida
Tiene razón, mi mal ... – letoosh