从python mix接收空值

2024-09-30 01:35:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试生成一些fixture来测试Flask应用程序,使用excellente库混合器。我已经在一个Django项目中使用了它,并且工作得很好,但是在flask+sqlalchemy上,无论我做什么,我都会收到空值。在

from mixer.backend.flask import mixer
from models import Users
from myproj import app

mixer.init_app(app)

me.blend(Users)

返回null。在

我还尝试直接实例化应用程序。在

^{pr2}$

返回相同的空值。在

这两种情况都返回一个自动生成的id。并保存到数据库中,但所有字段都有空。在

知道为什么吗?在

谢谢


Tags: 项目djangofromimportapp应用程序flasksqlalchemy
1条回答
网友
1楼 · 发布于 2024-09-30 01:35:35

结果发现,这是一个简单的答案混合器,不会为可以为null的字段生成数据。因此,要么在模型中指定,例如这样做:

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

或者告诉混音器,如果您想让混音器生成哪些字段可以为空:

^{pr2}$

感谢klen,Mixer for providing the solution的作者。在

相关问题 更多 >

    热门问题