原來這是一個簡單的answer--混頻器領域,可以爲空不產生數據。因此,要麼指定在你的模型,比如這個作品:
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from mixer.backend.flask import mixer
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite://'
db = SQLAlchemy(app)
mixer.init_app(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return '<User %r>' % self.username
if __name__ == '__main__':
with app.app_context():
db.create_all()
user = mixer.blend(User)
print user.id, user.username
# Prints: 1 collins1995
或者告訴調音臺你希望它產生,如果你想保持他們爲空的,哪些字段:
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from mixer import fakers as f
from mixer.backend.flask import mixer
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite://'
db = SQLAlchemy(app)
mixer.init_app(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 __repr__(self):
return '<User %r>' % self.username
if __name__ == '__main__':
with app.app_context():
db.create_all()
user = mixer.blend(User, username=f.get_username(), email=f.get_email())
print user.id, user.username, user.email
# Prints: 1 lover_boots [email protected]
由於klen時,作者Mixer爲providing the solution。
你是否按照[Flask-SQLAlchemy說明](https://github.com/klen/mixer#flask-flask-sqlalchemy)? – dirn 2014-09-19 15:41:32
是的。第一次嘗試正是文檔中的說明。其次是我試圖找出原因。我錯過了什麼? – cllamach 2014-09-19 15:48:55
[有關Flask-SQLAlchemy的具體內容和'__init__'參數](https://github.com/klen/mixer#user-content-support-for-flask-sqlalchemy-models-that-have-__init__-參數)。用戶是否使用'__init__'方法來分配值? – dirn 2014-09-19 15:50:54