예제 #1
0
class ConfigFilePost(Post):
    __tablename__ = "configfile_post"

    id = db.Column(db.Integer, db.ForeignKey('post.id'), primary_key=True)
    title = db.Column(db.String(150), nullable=False)
    configfile_id = db.Column(db.Integer, db.ForeignKey('configfile.id'))
    configfile = relationship("ConfigFile")
    __mapper_args__ = {
        'polymorphic_identity': 'cfp',
    }

    def __repr__(self):
        return "ConfigFilePost(%s)" % (self.title)

    def __init__(self, title, configfile, *args, **kwargs):
        """
        title : str
        configfile : Class
        user_id : int
        """
        super().__init__(*args, **kwargs)
        self.title = title
        self.configfile = configfile
        self.configfile_id = configfile.id

    def jsonify(self):
        out = super().jsonify()
        out.update({
            "title": self.title,
            "configfile": self.configfile.jsonify()
        })
        return out
예제 #2
0
class WatchRecord(db.Model):
    __tablename__ = 'watch_record'
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), index = True)
    article_id = db.Column(db.Integer, db.ForeignKey('article.id'), index = True)
    create_time = db.Column(db.DateTime, default=datetime.utcnow, index = True)
    update_time = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, index = True)
예제 #3
0
class ExternalPrice(Common, db.Model):
    """公司/单位专价模型"""
    __tablename__ = 'external_price'
    id = db.Column(db.Integer, index=True, primary_key=True)

    product_id = db.Column(db.Integer,
                           db.ForeignKey('product.id'),
                           nullable=False)
    company_id = db.Column(db.Integer,
                           db.ForeignKey('firm.id'),
                           nullable=False)
    price = db.Column(db.DECIMAL(precision=9, decimal_return_scale=2),
                      default=0.00,
                      nullable=False,
                      comment='产品单价')
    unit_id = db.Column(db.SMALLINT,
                        db.ForeignKey('product_unit.id'),
                        nullable=False,
                        comment='产品单位ID')
    unit = db.relationship('ProductUnit', lazy='select')

    def __init__(self, product_id: int, company_id: int, price: float,
                 unit_id: int):
        self.product_id = product_id
        self.company_id = company_id
        self.price = price
        self.unit_id = unit_id
예제 #4
0
class Surveyresponse(db.Model):

    surveyResponseID = db.Column(db.Integer,
                                 autoincrement=True,
                                 primary_key=True)
    surveyName = db.Column(db.String(100), nullable=True)
    surveyID = db.Column(db.Integer,
                         db.ForeignKey('survey.surveyID'),
                         nullable=False)
    studentID = db.Column(db.Integer,
                          db.ForeignKey('user.userID'),
                          nullable=False)
    user = db.relationship('User', backref='response_student')

    def __repr__(self):
        return f"SurveyResponse('{self.surveyResponseID}')"

    def get_response_id(self):
        return '{}'.format(self.surveyResponseID)

    def get_survey_id(self):
        return '{}'.format(self.surveyID)

    def get_survey_name(self):
        return '{}'.format(self.surveyName)

    def get_student_id(self):
        return '{}'.format(self.studentID)
예제 #5
0
class Follow(db.Model):
    id = db.Column(db.Integer, autoincrement=True, primary_key=True)
    init_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    respond_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    init = db.relationship('User', foreign_keys=[init_id])
    respond = db.relationship('User', foreign_keys=[respond_id])
예제 #6
0
class ProFeedback(db.Model):

    feedbackID = db.Column(db.Integer, autoincrement=True, primary_key=True)
    surveyName = db.Column(db.String(64), nullable=False)
    dt_time = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    content = db.Column(db.String(500), nullable=False)
    userID = db.Column(db.Integer, db.ForeignKey('user.userID'))
    surveyID = db.Column(db.Integer, db.ForeignKey('survey.surveyID'))
    survey = db.relationship('Survey', backref='survey_feedback')

    def __repr__(self):
        return f"Feedback('{self.feedbackID}','{self.surveyName}')"

    def get_id(self):
        return '{}'.format(self.feedbackID)

    def get_survey_name(self):
        return '{}'.format(self.surveyName)

    def get_content(self):
        return '{}'.format(self.content)

    def get_date(self):
        return '{}'.format(self.dt_time)

    def get_user_id(self):
        return '{}'.format(self.userID)

    def get_survey_id(self):
        return '{}'.format(self.surveyID)
예제 #7
0
파일: models.py 프로젝트: zcastle/api_ww
class Guia(db.Model):
    igui_id = db.Column(db.Integer, primary_key=True)
    dgui_fee = db.Column(db.DateTime)
    cgui_ser = db.Column(db.String(3))
    cgui_num = db.Column(db.String(11))
    icli_id = db.Column(db.Integer, db.ForeignKey("contacto.id"))
    contacto = db.relationship("Contacto",
                               backref=db.backref('guia', lazy='dynamic'))

    tipo_id = db.Column(db.Integer, db.ForeignKey("guia_tipo.id"))
    tipo = db.relationship("GuiaTipo",
                           backref=db.backref("guia", lazy="dynamic"))

    cia_id = db.Column(db.Integer, db.ForeignKey("cia.id"))

    cerrado = db.Column(db.Integer)
    vgui_est = db.Column(db.String(11))

    def __repr__(self):
        return '<Guia %r-%r>' % (self.cgui_ser, self.cgui_num)

    def getNumero(self):
        if self.cerrado == 0:
            return "EN PROCESO"
        else:
            return '%s-%s' % (self.cgui_ser, self.cgui_num)

    def getFecha(self):
        return self.dgui_fee.strftime('%d-%m-%Y')

    def isAnulado(self):
        return "N" if self.vgui_est == "GENERADO" else "S"
예제 #8
0
파일: models.py 프로젝트: zcastle/api_ww
class Producto(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    serie = db.Column(db.String(255), unique=True)
    familia_id = db.Column(db.Integer, db.ForeignKey("familia.id"))
    familia = db.relationship("Familia",
                              backref=db.backref("producto", lazy="dynamic"))
    marca_id = db.Column(db.Integer, db.ForeignKey("marca.id"))
    marca = db.relationship("Marca",
                            backref=db.backref("producto", lazy="dynamic"))
    modelo_id = db.Column(db.Integer, db.ForeignKey("modelo.id"))
    modelo = db.relationship("Modelo",
                             backref=db.backref("producto", lazy="dynamic"))
    tipo_id = db.Column(db.Integer, db.ForeignKey("tipo_producto.id"))
    tipo = db.relationship("TipoProducto",
                           backref=db.backref("producto", lazy="dynamic"))
    guia_id = db.Column(db.Integer, db.ForeignKey("guia.igui_id"))
    guia = db.relationship("Guia",
                           backref=db.backref("producto", lazy="dynamic"))
    producto_id = db.Column(db.Integer)
    #producto_id = db.Column(db.Integer, db.ForeignKey("producto.id"))
    #producto = db.relationship("Producto", backref=db.backref("producto", lazy="dynamic"))
    capacidad = db.Column(db.String(255))

    def __repr__(self):
        return "<Producto %r>" % self.serie
예제 #9
0
class OrderForm(Common, db.Model):
    """订单模型"""
    __tablename__ = 'order_form'
    id = db.Column(db.Integer, index=True, primary_key=True)

    person_id = db.Column(db.Integer,
                          db.ForeignKey('people.id'),
                          nullable=False,
                          comment='订单目标对象')
    product_id = db.Column(db.Integer,
                           db.ForeignKey('product.id'),
                           nullable=False,
                           comment='产品编号')
    price = db.Column(db.DECIMAL(precision=9, decimal_return_scale=2),
                      default=0.0,
                      comment='订单价格')
    quantity = db.Column(db.DECIMAL(precision=9, decimal_return_scale=2),
                         default=0.0,
                         comment='订单数量')
    order_id = db.Column(db.Integer,
                         db.ForeignKey('order.id'),
                         nullable=False,
                         comment='订单备注编号')
    unit_id = db.Column(db.SMALLINT,
                        db.ForeignKey('product_unit.id'),
                        nullable=False,
                        comment='产品单位ID')
    real_quantity = db.Column(db.DECIMAL(9, 2),
                              nullable=False,
                              comment='实际发货数量')

    unit = db.relationship('ProductUnit', lazy='select')

    def __init__(self,
                 person_id: int,
                 product_id: int,
                 price: float,
                 quantity: float,
                 order_id: int,
                 unit_id: int,
                 real_quantity: float = None):
        self.person_id = person_id
        self.product_id = product_id
        self.price = price
        self.quantity = quantity
        self.order_id = order_id
        self.unit_id = unit_id
        self.real_quantity = self._init_real_quantity(real_quantity)

    def _init_real_quantity(self, quantity):
        """实际数量初始化设定"""
        try:
            quantity = float(quantity)
        except TypeError:
            return self.quantity
        except ValueError:
            return self.quantity
        else:
            return quantity
예제 #10
0
class Comment(db.Model):
    __tablename__ = 'comment'
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String(255))
    article_id = db.Column(db.Integer, db.ForeignKey('article.id'), index = True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), index = True)
    create_time = db.Column(db.DateTime, default=datetime.utcnow, index = True)
    update_time = db.Column(db.DateTime, default=datetime.utcnow,onupdate=datetime.utcnow, index = True)
예제 #11
0
class Ratings(db.Model):
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True)
    joke_id = db.Column(db.Integer, db.ForeignKey('joke.id'), primary_key=True)
    rating = db.Column(db.String(50))
    created_at = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.utcnow)
    user = db.relationship("User", back_populates="jokes")
    joke = db.relationship("Joke", back_populates="users")
예제 #12
0
class Show(db.Model):
    __tablename__ = 'Show'
    id = db.Column(db.Integer, primary_key=True)
    artist_id = db.Column(db.Integer, db.ForeignKey('Artist.id'))
    venue_id = db.Column(db.Integer, db.ForeignKey('Venue.id'))
    time = db.Column(db.DateTime)

    def __repr__(self):
        return f'''<Show id={self.id} 
예제 #13
0
class Show(db.Model):
    __tablename__ = 'Show'

    id = db.Column(db.Integer, primary_key=True)
    artist_id = db.Column(db.Integer,
                          db.ForeignKey('Artist.id'),
                          nullable=False)
    venue_id = db.Column(db.Integer, db.ForeignKey('Venue.id'), nullable=False)
    start_time = db.Column(db.DateTime())
예제 #14
0
class Lesson(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    level_id = db.Column(db.Integer, db.ForeignKey('level.id'))
    subject_id = db.Column(db.Integer, db.ForeignKey('subject.id'))
    dateTime = db.Column(db.DateTime)
    paid = db.Column(db.Boolean, default=False)

    def __repr__(self):
        return '<Lesson %r>' % self.id
예제 #15
0
class Follow(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    follower_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    follower = db.relationship('User', primaryjoin=follower_id == User.id)

    followee_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    followee = db.relationship('User', primaryjoin=followee_id == User.id)

    def __init__(self, follower_id, followee_id):
        self.follower_id = follower_id
        self.followee_id = followee_id
예제 #16
0
class ConfigFileView(db.Model):
    __tablename__ = "configfile_view"
    id = db.Column(db.Integer, primary_key=True)
    timestamp = db.Column(db.Integer, default=int(time.time()))
    configfile_id = db.Column(db.Integer, db.ForeignKey('configfile.id'))
    user_id = db.Column(db.Integer, db.ForeignKey('general_user.id'))

    def __init__(self, user_id, configfile_id):
        self.configfile_id = configfile_id
        self.user_id = user_id

    def jsonify(self):
        return {"timestamp": self.timestamp}
예제 #17
0
파일: model.py 프로젝트: fdenzer/unary
class Transaction(ExportableMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    product_id = db.Column(db.Integer, db.ForeignKey('product.id'))
    amount = db.Column(db.Float, nullable=False)
    date = db.Column(db.DateTime, default=db.func.now())
    cancelled = db.Column(db.Boolean, default=False, nullable=False)
    fulfilled = db.Column(db.Boolean, default=False, nullable=False)

    def __repr__(self):
        if (self.product_id):
            return '<Transaction: P{} by U{} for € {}>'.format(
                self.product_id, self.user_id, self.amount)
        return '<Deposit by U{} for € {}>'.format(self.user_id, self.amount)
예제 #18
0
파일: models.py 프로젝트: zcastle/api_ww
class DetalleCompra(db.Model):
    idco_id = db.Column(db.Integer, primary_key=True)
    icom_id = db.Column(db.Integer, db.ForeignKey("compra.icom_id"))
    compra = db.relationship("Compra",
                             backref=db.backref("detalle_compra",
                                                lazy="joined"))

    iins_id = db.Column(db.Integer, db.ForeignKey("producto.id"))
    producto = db.relationship("Producto",
                               backref=db.backref("detalle_compra",
                                                  lazy="joined"))

    def __repr__(self):
        return '<DetalleCompra %r>' % self.idco_id
예제 #19
0
class Article(db.Model):
    __tablename__ = 'article'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), index = True)
    content = db.Column(db.Text(length=(2**31)-1))
    description = db.Column(db.Text(length=(2**31)-1))
    tag_id = db.Column(db.Integer, db.ForeignKey('article_tag.id'), index = True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), index = True)
    create_time = db.Column(db.DateTime, default=datetime.utcnow, index = True)
    update_time = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, index = True)
    avatar_image = db.Column(db.String(64), index = True)
    like_num = db.Column(db.Integer, default = 0)
    watch_num = db.Column(db.Integer, default = 0)
    comment = db.relationship('Comment', cascade = 'delete')
예제 #20
0
파일: models.py 프로젝트: zcastle/api_ww
class GuiaSalidaDetalle(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    guia_id = db.Column(db.Integer, db.ForeignKey("guia.igui_id"))
    guia = db.relationship("Guia",
                           backref=db.backref('guia_salida_detalle',
                                              lazy='dynamic'))
    producto_id = db.Column(db.Integer, db.ForeignKey("producto.id"))
    producto = db.relationship("Producto",
                               backref=db.backref('guia_salida_detalle',
                                                  lazy='dynamic'))
    cantidad = db.Column(db.Integer)

    def __repr__(self):
        return '<GuiaSalidaDetalle %r>' % (self.id)
예제 #21
0
class Questionresponse(db.Model):
    questionResponseID = db.Column(db.Integer,
                                   autoincrement=True,
                                   primary_key=True)
    type = db.Column(db.String(10), nullable=False)
    content = db.Column(db.String(300), nullable=False)
    author_id = db.Column(db.Integer, nullable=False)
    author_name = db.Column(db.String(20), nullable=False)
    student_ID = db.Column(db.Integer,
                           db.ForeignKey('user.userID'),
                           nullable=False)
    questionID = db.Column(db.Integer,
                           db.ForeignKey('question.questionID'),
                           nullable=False)
    surveyResponseID = db.Column(
        db.Integer,
        db.ForeignKey('surveyresponse.surveyResponseID'),
        nullable=False)
    surveyresponse = db.relationship('Surveyresponse',
                                     backref='question_response')

    def __repr__(self):
        return f"Questionresponse('{self.questionResponseID}','{self.type}','{self.content}')"

    def get_id(self):
        return '{}'.format(self.questionResponseID)

    def get_student_id(self):
        return '{}'.format(self.student_ID)

    def get_author_name(self):
        return '{}'.format(self.author_name)

    def get_author_id(self):
        return '{}'.format(self.author_id)

    def get_survey_response_id(self):
        return '{}'.format(self.surveyResponseID)

    def get_question_id(self):
        return '{}'.format(self.questionID)

    def get_type(self):
        return '{}'.format(self.type)

    def get_content(self):
        return '{}'.format(self.content)

    def get_content(self):
        return '{}'.format(self.content)
예제 #22
0
class Article(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    file = db.Column(db.Integer, db.ForeignKey('file.id'))
    name = db.Column(db.String(64), index=True)
    stat = db.Column(db.Integer, db.ForeignKey('status.id'))
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)

    def add_article(file_id, article_name):
        ...

    def change_status(self, status_id):
        ...

    def __repr__(self):
        return '<Article {}>'.format(self.name)
예제 #23
0
class ForumPost(db.Model):
    """
    This class corresponds to the database model for a ForumPost object.
    A high level interface that allows more efficient interactions with the relational database.
    """
    __tablename__ = 'ForumPosts'
    id = db.Column(db.Integer, primary_key=True)
    author_username = db.Column(db.String(64), db.ForeignKey('Users.username'))
    forum_question_id = db.Column(db.Integer,
                                  db.ForeignKey('ForumQuestions.id'))
    content = db.Column(db.Text())
    post_time = db.Column(db.DateTime, index=True, default=datetime.utcnow)

    def __repr__(self):
        return '<ForumPost {}>'.format(self.id)
예제 #24
0
파일: models.py 프로젝트: arrinn/TestsForum
class Answers(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(db.Integer, db.ForeignKey('questions.id'))
    username = db.Column(db.String(64), db.ForeignKey('users.username'))
    answer = db.Column(db.String(120))
    time = db.Column(db.String(32))
    is_correct = db.Column(db.Boolean)
    user_scored = db.Column(db.Integer)
    status = db.Column(db.Enum('Active', 'Archived'),
                       nullable=False,
                       server_default='Active')

    def __repr__(self):
        return '<id: {}, question_id: {}, user_id: {}, text: {}>'.format(
            self.id, self.question_id, self.user_id, self.text)
예제 #25
0
class UserRule(db.Model):
    __tablename__ = 'user_rules'
    id = db.Column(db.Integer, primary_key=True)
    calc_type = db.Column(db.String(80))
    rule_id = db.Column(db.String(120))
    rule_summary = db.Column(db.String(120))
    digits = db.Column(db.String(120))
    count_of_numbers = db.Column(db.String(120))
    last_updated_on = db.Column(db.String(120))
    # user_id = db.Column(db.String(120))

    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    # user = db.relationship('User', backref=db.backref('user_set', lazy='dynamic'))

    def __init__(self, calc_type, rule_id, rule_summary, digits,
                 count_of_numbers, last_updated_on, user_id):
        self.calc_type = calc_type
        self.rule_id = rule_id
        self.rule_summary = rule_summary
        self.digits = digits
        self.count_of_numbers = count_of_numbers
        self.last_updated_on = last_updated_on
        self.user_id = user_id

    def as_dict(self):
        return {
            col.name: getattr(self, col.name)
            for col in self.__table__.columns
        }
예제 #26
0
class Path(PkModel):

    __tablename__ = "paths"
    slug = db.Column(db.String(200), nullable=False)
    title = db.Column(db.String(200), nullable=False)
    sections = db.relationship("Section",
                               backref="section_path",
                               lazy=True,
                               cascade="all, delete-orphan")

    user_id = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False)
    is_visible = db.Column(db.Boolean, default=True)

    like_list = db.relationship("LikeList",
                                backref="like_list_path",
                                lazy=True,
                                uselist=False)
    bookmark_list = db.relationship("BookmarkList",
                                    backref="bookmark_list_path",
                                    lazy=True,
                                    uselist=False)

    def get_url(self):
        return url_for("www.path",
                       username=self.path_user.username,
                       path_slug=self.slug)
예제 #27
0
파일: models.py 프로젝트: geniass1/Blog-App
class Article(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    intro = db.Column(db.String(300), nullable=False)
    text = db.Column(db.Text, nullable=False)
    date = db.Column(db.DateTime, default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
예제 #28
0
class Survey(db.Model):

    surveyID = db.Column(db.Integer, autoincrement=True, primary_key=True)
    instructorName = db.Column(db.String(64), nullable=False)
    name = db.Column(db.String(64), nullable=False)
    date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    instructorID = db.Column(db.Integer,
                             db.ForeignKey('instructor.instructorID'),
                             nullable=False)
    instructor = db.relationship('Instructor', backref='survey_instructor')

    def __repr__(self):
        return f"Survey('{self.instructorName}','{self.name})'"

    def get_id(self):
        return '{}'.format(self.surveyID)

    def get_instructor(self):
        return '{}'.format(self.instructorName)

    def get_name(self):
        return '{}'.format(self.name)

    def get_date(self):
        return '{}'.format(self.date)
예제 #29
0
class Optionresponse(db.Model):
    optionResponseID = db.Column(db.Integer,
                                 autoincrement=True,
                                 primary_key=True)
    content = db.Column(db.Integer, nullable=False)
    author_id = db.Column(db.Integer, nullable=False)
    author_name = db.Column(db.String(20), nullable=False)
    questionResponseID = db.Column(
        db.Integer,
        db.ForeignKey('questionresponse.questionResponseID'),
        nullable=False)
    questionresponse = db.relationship('Questionresponse',
                                       backref='question_response')

    def __repr__(self):
        return f"Optionresponse('{self.optionResponseID}','{self.content}')"

    def get_id(self):
        return '{}'.format(self.optionResponseID)

    def get_content(self):
        return '{}'.format(self.content)

    def get_author_name(self):
        return '{}'.format(self.author_name)

    def get_author_id(self):
        return '{}'.format(self.author_id)

    def get_question_response_id(self):
        return '{}'.format(self.questionResponseID)
예제 #30
0
class Question(db.Model):

    questionID = db.Column(db.Integer, autoincrement=True, primary_key=True)
    label = db.Column(db.String(64))
    type = db.Column(db.String(10), nullable=False)
    repetition = db.Column(db.String(15))
    content = db.Column(db.String(300), nullable=True)
    surveyID = db.Column(db.Integer,
                         db.ForeignKey('survey.surveyID'),
                         nullable=False)
    survey = db.relationship('Survey', backref='survey_questions')

    def __repr__(self):
        return f"Question('{self.questionID}','{self.type}','{self.repetition}','{self.content}','{self.surveyID}')"

    def get_id(self):
        return '{}'.format(self.questionID)

    def get_survey_id(self):
        return '{}'.format(self.surveyID)

    def get_label(self):
        return '{}'.format(self.label)

    def get_type(self):
        return '{}'.format(self.type)

    def get_repetition(self):
        return '{}'.format(self.repetition)

    def get_content(self):
        return '{}'.format(self.content)