मैं पायथन ईव पर SQLAlcemy बैकएंड के साथ विश्वसनीय सेवा पर आधारित हूं।पाइथन ईव, एसक्यूएलकेमी और विदेशीकी
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'}
कौन सा एक नहीं बल्कि छुपे त्रुटि संदेश है। मैं पायथन ईव के दस्तावेज पढ़ रहा हूं और मैं वास्तव में समझ नहीं पा रहा हूं कि मैं क्या गलत कर रहा हूं। user
और folder
प्रविष्टियों के बीच एकमात्र अंतर मैं देखता हूं कि किसी के पास विदेशी कुंजी है।
कोई विचार यह क्यों हो रहा है?
क्या आप कृपया अपना समाधान विस्तृत कर सकते हैं ... मैं एक समान स्थिति में हूं। तालिका बी में तालिका ए में एक विदेशी कुंजी है। तालिका ए (पैरेंट) में सम्मिलित करना ठीक है लेकिन तालिका बी में डालने का प्रयास करते समय त्रुटि "cpa_id" फेंकता है: "अज्ञात फ़ील्ड" – dnafication