5
我在Python Eve基於REST風格的服務與SQLAlcemy後端。我有兩個型號,一個一對多的關係:Python Eve,SQLalchemy和ForeignKey
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
插入,更新和刪除users
當這個偉大的工程。但是,我不能得到folders
插入右:
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的文檔,我無法真正理解我做錯了什麼。我在user
和folder
插入之間看到的唯一區別是它有一個外鍵。
任何想法爲什麼會發生這種情況?
請您詳細說明您的解決方案......我處於類似的情況。表B在表A中有一個外鍵。在表A(父)中插入是可以的,但試圖插入到表B時拋出錯誤'「cpa_id」:「未知字段」 – dnafication