Das ist mein Modell:
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)
Aber es kann nicht laufen. Was ist die maximale Größe des max_length
Parameters?
django
django-models
zjm1126
quelle
quelle
max_length
auf Modellebene (oder Datenbankebene) nicht erzwungen . Dies kann im Gegensatz zu CharField eine Validierungslogik erschweren, mit der Sie eine angeben könnenmax_length
, die Django erzwingt.Verwenden Sie
TextField
stattdesseninfowindow = models.TextField()
quelle
TextField
diesmax_length
auf Datenbankebene nicht validiert wird.Dies hängt von der Backend-Datenbank ab. Wenn Sie MySQL 5.6 verwenden, gibt es ein Limit von 65.535. Wenn Sie darüber hinaus verwenden, wird 1024 ebenfalls zugelassen, jedoch nicht darüber hinaus.
class Demo(models.Model): max_test = models.CharField(max_length=1024)
Ich bin oben auf MySQL 5.7 gelaufen
quelle
Es hängt wirklich von der Datenbank ab, die Sie für das Modell verwenden. PostgreSQL, MySQL usw. haben unterschiedliche Einstellungen und Grenzen.
Wenn Sie wirklich eine lange Zeichenfolge benötigen oder nicht sicher sind, wie lang die Variable sein würde, können Sie immer sicher sein
variable=models.TextField()
.quelle