我有一个模型TextField
,最近我将其max_length
从650更改为1500。
class Comment(models.Model)
...
comment_text = models.TextField(max_length=1500, blank=True, null=True)
我已经执行了makemigrations和migration,当我发布650个字符以上的注释时,本地服务器上没有任何问题。
但是,当我在远程服务器上发布超过650个字符的评论时,它将返回此错误:
File "/home/james/postr/env/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/home/james/postr/env/lib/python3.5/site-packages/django/db/utils.py", line 94, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/home/james/postr/env/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/home/james/postr/env/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
django.db.utils.DataError: value too long for type character varying(650)
即使我已检查远程代码已更改为max_length=1500
。
有什么问题吗?
答案 0 :(得分:0)
已解决
在我的评论创建视图中,它还会创建一个Inbox
对象:
inbox = Inbox.objects.create(user=post.user, replier=request.user, type='commented', text=ajax_comment, post=post)
其中max_length
为650 ...
我现在将其更改为:
class Inbox(models.Model)
...
text = models.CharField(max_length=1500)
它现在正在工作。