2014-12-17 3 views
5

कैसे बीज करूं मैं पाइथन पर नया हूं, मैंने अभी फ्लास्क बेचैन और फ्लास्क एसक्यूएल-कीमिया का उपयोग करके एपीआई बनाने का तरीका सीखा है। हालांकि मैं यादृच्छिक मूल्यों के साथ डेटाबेस को बीज करना चाहता हूं। मुझे यह कैसे हासिल होगा? कृपया मदद करे। यहाँ एपीआई कोड forgerypy और forgerypy3 पुस्तकालयों इस उद्देश्य के लिए उपलब्ध हैं (हालांकि वे देखो की तरह वे एक बिट में छुआ नहीं किया गया है) है ...मैं एक फ्लास्क एसक्यूएल-एल्केमी डेटाबेस

import flask 
import flask.ext.sqlalchemy 
import flask.ext.restless 
import datetime 

DATABASE = 'sqlite:///tmp/test.db' 

#Create the Flask application and the FLask-SQLALchemy object 
app = flask.Flask(__name__) 
app.config ['DEBUG'] = True 
app.config['SQLALCHEMY_DATABASE_URI'] = DATABASE 
db = flask.ext.sqlalchemy.SQLAlchemy(app) 

#create Flask-SQLAlchemy models 
class TodoItem(db.Model): 
    id = db.Column(db.Integer, primary_key = True) 
    todo = db.Column(db.Unicode) 
    priority = db.Column(db.SmallInteger) 
    due_date = db.Column(db.Date) 

#Create database tables 
db.create_all() 

#Create Flask restless api manager 
manager = flask.ext.restless.APIManager(app, flask_sqlalchemy_db = db) 

#Create api end points 
manager.create_api(TodoItem, methods = ['GET','POST','DELETE','PUT'], results_per_page = 20) 

#Start flask loop 
app.run() 
+0

एक किताब को यह http://stackoverflow.com/questions/19334604/creating-seed-data-in-a-flask-migrate-or-alembic-migration – Nenodias

उत्तर

0

एक और नौसिखिया से,।

उन्हें कैसे अपने मॉडल को जोड़कर उन्हें उपयोग करने के लिए की एक साधारण उदाहरण:

class TodoItem(db.Model): 

    .... 

    @staticmethod 
    def generate_fake_data(records=10): 
     import forgery_py 
     from random import randint 
     for record in records: 
      todo = TodoItem(todo=forgery_py.lorem_ipsum.word(), 
          due_date=forgery_py.date.date(), 
          priority=randint(1,4)) 
      db.session.add(todo) 
     try: 
      db.session.commit() 
     except: 
      db.session.rollback() 

फिर आप एक खोल सत्र में generate_fake_data विधि कॉल करेगा।

और मिगुएल ग्रिनबर्ग का फ्लास्क वेब डेवलपमेंट (O'Reilly पुस्तक, ब्लॉग नहीं) अध्याय 11 इसके लिए एक अच्छा संसाधन है।

+1

प्वाइंटर देखो वास्तव में इस सवाल का जवाब नहीं है, – swa66

+0

हाँ मैं सहमत हूँ। मैंने इसे एक टिप्पणी के रूप में जोड़ा होगा लेकिन मेरे पास पर्याप्त अंक नहीं हैं (हालांकि मुझे अपने उत्तर पर टिप्पणी करने की अनुमति है)। यदि आप सलाह देते हैं तो स्टैक ओवरफ़्लो के प्रारूप के अनुरूप इसे हटाने के लिए पूरी तरह से तैयार हैं। मैं एक ही चीज़ की तलाश में था, और केवल यह सवाल पाया। –