我有一个有max_length
分的场地.当我保存一个模型实例,并且字段的值大于max_length
时,Django在数据库级别强制执行该max_length
.(请参阅型号:http://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.CharField.max_length上的Django文档)
然而,由于我使用Postgres,我收到了如下DatabaseError
个例外:
DatabaseError: value too long for type character varying(1000)
我更喜欢自动截断值(所以我没有异常).现在,我可以手动完成此操作,但我真正想要的是让我的所有模型自动截断该值.(不一定是智能的.(只需在第999个字符处将其删掉即可.)
我是否应该编写一个从模型导入的自定义类.建模并重写save()方法,循环遍历每个_meta.字段,判断最大长度,然后截断?这似乎不雅,一定有更好的办法.