检查空列并在SQLAlchemy中为其设置值

时间:2015-06-22 07:58:39

标签: python sqlalchemy

我有模特,看起来像这样

class Question(db.Model):
    __tablename__ = 'questions'
    id = db.Column(db.Integer, primary_key=True)
    question_title = db.Column(db.String(64))
    question_text = db.Column(db.String(256), nullable=False)
    votest = db.Column(db.Integer, default=0)
    answers = db.relationship('Answer', backref='question')

    def __repr__(self):
        return '<QTitle: %s>\n<QText: %s>' % (self.question_title,
                                          self.question_text)

要检查列question_title是否为空,并将其分配给列question_text +'...'的前64个符号。 哪个是实现此目的的最佳方式?

也许最好的方法是不要在 model 中实现这一点,但要在 view 中进行检查?

2 个答案:

答案 0 :(得分:0)

最好的方法是在从表单中读取数据后在视图中执行此操作(如果是这种情况)。

您可以创建一个辅助函数,该函数将question_titlequestion_text作为参数,并验证question_title是否为空,如果是,则将question_text中的前64个字符分配给// using your angles in the question angle = Mathf.Abs(angle); // only need positive angles. angle = Mathf.Clamp(angle, 30, 150); 1}}。在从表单(或从中获取数据的任何地方)获取数据后,在视图中调用此函数。然后将数据放入数据库中。

答案 1 :(得分:0)

检查出来:

//Establishes the type of question and therefore what should be displayed
app.directive('questionType', function($http, $compile) {
  return {
    restrict: 'A',
    link: function(scope, element, attr, model) {

      switch (scope.Question.inputType) {
        case 'checkbox':
          //element.append('<input type="checkbox" ng-model="Question.checked"/><button ng-if="input.checked" >X</button>');
          break;
        case 'text':
          var strElm = '<button class="btn btn-info" ng-click="selectProperties()" title="Assign this user"><span class="glyphicon glyphicon-user"></span>Assignment</button>';
          var compiledHtml = $compile(strElm);
          element.append(compiledHtml);
          break;
      }
    }
  };
});

我没有测试过,但它应该有用!