title: Flask-SQLAlchemy Constructor
body: <p>in the Flask-SQLAlchemy tutorial, a constructor for the User model is defined:</p>
  
  <pre><code>from flask import Flask
  from flask.ext.sqlalchemy import SQLAlchemy
  
  app = Flask(__name__)
  app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
  db = SQLAlchemy(app)
  
  
  class User(db.Model):
      id = db.Column(db.Integer, primary_key=True)
      username = db.Column(db.String(80), unique=True)
      email = db.Column(db.String(120), unique=True)
  
      def __init__(self, username, email):
          self.username = username
          self.email = email
  </code></pre>
  
  <p>for a table with two columns, that might be acceptable, but what if I have tables with 10+ columns? do constructors <strong>have</strong> to be defined each time I define a new model? </p>