To jest mój model:
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)
Ale to nie może działać. Jaki jest maksymalny rozmiar max_length
parametru?
django
django-models
zjm1126
źródło
źródło
max_length
na poziomie modelu (lub bazy danych). Może to skomplikować pewną logikę walidacji, w przeciwieństwie do CharField, która pozwala określićmax_length
wymuszenie przez Django.Użyj
TextField
zamiast tegoinfowindow = models.TextField()
źródło
TextField
to nie sprawdza sięmax_length
na poziomie bazy danych.To zależy od bazy danych zaplecza. Jeśli używasz MySQL 5.6, obowiązuje limit 65 535. Jeśli używasz powyżej tego, pozwoli to również na 1024, ale nie dalej.
class Demo(models.Model): max_test = models.CharField(max_length=1024)
Uruchomiłem powyżej na MySQL 5.7
źródło
To naprawdę zależy od bazy danych, której używasz dla modelu. PostgreSQL, MySQL i tak dalej mają różne ustawienia i ograniczenia.
Jeśli naprawdę potrzebujesz długiego łańcucha lub nie jesteś pewien, jak długa będzie zmienna, zawsze bezpiecznie po prostu ją wykorzystaj
variable=models.TextField()
.źródło