【发布时间】:2018-07-31 13:11:38
【问题描述】:
我对 Django 和 python 还很陌生,我想了解更多关于如何填充我的 Postgres 数据库的信息。
这是我当前的模型:models.py
from django.template.defaultfilters import slugify
class Skill(models.Model):
name = models.TextField()
slug = models.TextField(unique = True)
def __unicode__(self):
return "%s" % self.name
和我的观点:views.py
r = r.json()
try:
Skills = r['data']['skills']
except:
pass
for skill in Skills:
skill = Skill.objects.create(name=skill['name'],slug=slugify(skill['name']))
我收到错误: 异常类型:IntegrityError
详细信息:键 (slug)=(systems-engineering) 已存在。
我一直在阅读similar post,尽管仍然无法解决我的问题。当对象已存在于数据库中时,objects.create() 将显示错误,但上面的代码出现错误。 “unique = True”会导致错误吗?以及如何解决这个问题?
跟进
我的问题比我想象的要简单。我能够运行psql 交互式终端并查看我的数据填充。我无法在管理站点上看到它,因为我错过了在 admin.py 上注册模型
【问题讨论】:
-
Skills的内容是什么? -
“技能”:[ {“名称”:“系统工程”},{“名称”:“消费电子产品”},{“名称”:“产品开发”},...]
-
你能提供你的错误的完整追溯吗?
-
这是我的完整版traceback 谢谢!