के लिए किसी भी प्राथमिक कुंजी कॉलम को इकट्ठा नहीं कर सका जब मैं डेटाबेस स्कीमा माइग्रेशन बनाने का प्रयास कर रहा हूं, तो मुझे एक अजीब त्रुटि मिल रही है। क्या आप कृपया यह जानने में मदद कर सकते हैं कि क्या गलत है? धन्यवाद!मैप किए गए तालिका
मैं इस हो रही है:
$ python app.py db upgrade
[skipped]
sqlalchemy.exc.ArgumentError: Mapper Mapper|EssayStateAssociations|essay_associations could not assemble any primary key columns for mapped table 'essay_associations'
मेरे मॉडल:
class EssayStateAssociations(db.Model):
__tablename__ = 'essay_associations'
ALLOWED_APP_ESSAY_STATES = ["selected", "not_selected", "pending"]
application_essay_id = db.Column(
db.Integer,
db.ForeignKey("application_essay.id"),
primary_key=True),
theme_essay_id = db.Column(
db.Integer,
db.ForeignKey("theme_essay.id"),
primary_key=True),
state = db.Column(db.String, default="pending")
@validates('state')
def validate_app_essay_states(self, key, state):
assert state in self.ALLOWED_APP_ESSAY_STATES
return state
संस्करण:
Flask==0.10.1
Flask-Migrate==1.2.0
Flask-SQLAlchemy==1.0
SQLAlchemy==0.9.4
मैं एक उचित उत्तर प्रदान करेंगे, लेकिन अब के लिए मैं कृपया ध्यान दें कि मुझे लगता है कि आपकी वास्तविक त्रुटि 'application_essay_id' की परिभाषा के बाद पिछली कॉमा थी। आपने संपत्ति को एक कॉलम के बजाय एक कॉलम युक्त * टुपल * में बनाया है। मुझे उम्मीद है कि कॉलम कॉपी करते समय यह एक आम त्रुटि है 'op.create_table (' एक मॉडल में (जैसे हाथ-क्राफ्टिंग माइग्रेशन से घोषणात्मक आधार से उन्हें स्वत: उत्पन्न करने के लिए स्वैप करने के लिए स्वैप करें) - कम से कम, यह है कि * मैंने * इसे उसी तरह गड़बड़ कर दिया है। –