मैं flask-sqlalchemy
उपयोग कर रहा हूँ एक webapp के निर्माण के लिए समग्र कुंजी और मैं निम्नलिखित है मॉडल (ओं):SQLAlchemy
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), unique=True)
candidates = db.relationship('Candidate', backref='post', lazy='dynamic')
def __init__(self, name):
self.name = name
def __repr__(self):
return "<Post %r>" % self.name
class Candidate(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), primary_key=True)
post_id = db.Column(db.Integer, db.ForeignKey('post.id'))
hostel = db.Column(db.String(80))
yes_no = db.Column(db.Boolean)
#votes = db.relationship('Vote', backref='vote', lazy="dynamic")
def __init__(self, name, hostel, post_id, yes_no):
self.name = name
self.hostel = hostel
self.post_id = post_id
self.yes_no = yes_no
def __repr__(self):
return "<Candidate: %r, Post: %r>" % (self.name, self.post.name)
जब यह डेटाबेस डिजाइन करने के लिए आता मैं पूरी तरह noob हूँ, इसलिए मैं वास्तव में हूँ कुछ बुनियादी प्रश्नों मैं
है के बारे में कुछ संकेत दिए गए सराहना
id
स्तंभ आवश्यक है? मैंने देखा है कि अधिकांश ट्यूटोरियल में एक कॉलम (विशेष रूप से प्राथमिक कुंजी) के रूप में है। क्या मैं इसके बिना कर सकता हूँ? खासकर उन मामलों में जहां मेरे पास एक और प्राथमिक कुंजी है?उम्मीदवार # नाम और अभ्यर्थी # post_id कॉलम पर एक समग्र कुंजी बाधा कैसे हो सकती है, यह देखते हुए कि post_id एक विदेशी कुंजी है।
मैं अपने डेटाबेस को "रीफ्रेश" कैसे कर सकता हूं। मॉडल में बदलाव करने के बाद, मैं यह कैसे सुनिश्चित कर सकता हूं कि उन परिवर्तनों को वास्तविक तालिकाओं में दिखाई दे? क्या मुझे मैन्युअल रूप से
drop_all
औरcreate_all
की आवश्यकता है?आखिरकार,
sqlalchemy
प्रलेखनflask-sqlalchemy
पर भी लागू होता है?
आपको इन प्रश्नों बाहर विभाजित करना चाहते हो सकता है; आप एक प्रश्न में कई मुद्दों को पोस्ट करते समय लोगों को जवाब देने के लिए कठिन बना रहे हैं। 'Sqlalchemy' प्रलेखन' फ्लास्क-स्क्लेल्चेमी 'पर भी लागू होता है। –