【发布时间】:2019-04-06 09:06:56
【问题描述】:
我进行了数据库刷新以重置我的数据库。当我尝试执行以下代码时出现此错误。
引发错误的代码:
try:
print("Attempting to load %s" % store.get('name'))
# THIS NEXT LINE THROWS ERROR
store_obj = Store.objects.get(name=store.get('name'))
except Store.DoesNotExist:
store_obj = Store(name=store.get('name'),
last_updated=last_updated,
address=store.get('address'),
city=store.get('city'),
state=store.get('state'),
zip_code=store.get('zip_code'))
错误:
Exception Type: DataError at /stores/
Exception Value: value too long for type character varying(2)
\d 中的stores_store
django 中的模型:
class Store(models.Model):
name = models.CharField(max_length=200)
description = models.TextField()
created_at = models.DateTimeField(default=datetime.now, blank=True)
last_updated = models.DateTimeField(default=datetime.now, blank=True)
# Address
address = models.CharField(_("address"), max_length=128)
city = models.CharField(_("city"), max_length=128)
state = USStateField(_("state"))
zip_code = USZipCodeField(_("zip code"), max_length=5)
def __str__(self):
return self.name
如您所见,商店名称是 200 的 VARCHAR,而不是 2。但是,如果没有收到此错误,我无法完成此获取操作。我尝试了另一个冲洗和makemigrations -> migrate,但仍然没有运气。我还能尝试什么?
谢谢!
【问题讨论】:
-
错误字段可能是表的状态字段
-
将完整的回溯添加到问题中。
标签: django postgresql