113 votes

Quelle est la taille maximale de 'max_length' dans Django ?

C'est mon modèle :

class Position(models.Model):
    map = models.ForeignKey(Map,primary_key=True)
    #members=models.CharField(max_length=200)
    LatLng = models.CharField(max_length=40000)
    infowindow = models.CharField(max_length=40000)

Mais il ne peut pas courir. Quelle est la taille maximale du max_length paramètre ?

139voto

Haes Points 6453

Cela dépend du backend de la base de données. Le site Docs Django DB vous dira, que max_length=255 est garanti pour fonctionner toujours.

Si vous avez besoin d'un montant équivalent à celui que vous avez indiqué dans votre question, je vous suggère d'utiliser un fichier de type Champ de texte .

8voto

tshubham7 Points 41

Utilisez TextField au lieu de

infowindow = models.TextField()

2voto

Vitthal Sarode Points 11

Cela dépend de la base de données dorsale. Si vous utilisez MySQL 5.6, la limite est de 65 535. Si vous utilisez une version supérieure, la limite sera de 1024, mais pas plus.

class Demo(models.Model):
    max_test = models.CharField(max_length=1024)

J'ai exécuté le programme ci-dessus sur MySQL 5.7

2voto

Adrian Stanica Points 29

Cela dépend vraiment de la base de données que vous utilisez pour le modèle. PostgreSQL, MySQL, etc. ont des paramètres et des limites différents.

Si vous avez vraiment besoin d'une longue chaîne de caractères ou si vous n'êtes pas sûr de la longueur de la variable, il est toujours prudent d'utiliser la fonction variable=models.TextField() .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X