Python Eve,SQLalchemy和ForeignKey
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python Eve,SQLalchemy和ForeignKey,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1405字,纯文字阅读大概需要3分钟。
内容图文
我正在使用SQLAlcemy后端开发基于Python Eve的RESTful服务.我有两个具有一对多关系的模型:
class User(CommonColumns):
"""Model of an user in the database"""
__tablename__ = "user"
id = Column(Integer, primary_key=True)
username = Column(String, unique=True)
email = Column(EmailType, unique=True)
folders = relationship('Folder', backref='user')
def __unicode__(self):
return self.username
class Folder(CommonColumns):
"""Model of an user in the database"""
__tablename__ = "folder"
id = Column(Integer, primary_key=True)
name = Column(String, unique=True)
user_id = Column(Integer, ForeignKey('user.id'), nullable=False)
def __unicode__(self):
return "{}/{}".format(self.user.username, self.name)
CommonColumns定义为here
这在插入,更新和删除用户时非常有用.但是,我无法插入文件夹:
newfolder = {
'name':'FOLDER',
'user_id': 1,
}
response = requests.post("http://localhost:8080/api/v1.0/folders",data=newfolder)
print response.json()
{u'_error': {u'code': 422,
u'message': u'Insertion failure: 1 document(s) contain(s) error(s)'},
u'_issues': {u'exception': u"'user'"},
u'_status': u'ERR'}
这是一个相当神秘的错误消息.我一直在阅读Python Eve的文档,我无法理解我做错了什么.我在用户和文件夹插入之间看到的唯一区别是一个有外键.
知道为什么会这样吗?
解决方法:
好吧,似乎问题是我没有资源和表名的相同名称(资源的“users”,表名的“user”).这似乎在前夕引发了外键问题,但对于没有关系的实体不会失败.
更改表名以匹配资源名称解决了问题.
我希望这对任何人都有用.
内容总结
以上是互联网集市为您收集整理的Python Eve,SQLalchemy和ForeignKey全部内容,希望文章能够帮你解决Python Eve,SQLalchemy和ForeignKey所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。