我有以下定义
class Usuario(db.Model):
__tablename__ = 'usuarios'
id_usuario = db.Column(db.Integer, primary_key = True)
id_centro = db.Column(db.Integer)
creado_en = db.Column(db.DateTime)
actualizado_en = db.Column(db.DateTime)
gcm_id = db.Column(db.Text)
notificaciones = db.relationship('RelNotificacionUsuario', backref='usuario', lazy='dynamic')
def __init__(self, id_usuario, id_centro):
self.id_usuario = id_usuario.title()
self.id_centro = id_centro.title()
self.gcm_id = gcm_id.title()
class Notificaciones(db.Model):
__tablename__ = 'notificaciones'
id_notificacion = db.Column(db.Integer, primary_key = True)
descripcion = db.Column(db.Text)
creado_en = db.Column(db.DateTime)
actualizado_en = db.Column(db.DateTime)
fecha = db.Column(db.DateTime)
notificaciones = db.relationship('RelNotificacionUsuario', backref='notificacion', lazy='dynamic')
def __init__(self, id_usuario, id_centro):
self.id_usuario = id_usuario.title()
self.id_centro = id_centro.title()
self.gcm_id = gcm_id.title()
class RelNotificacionUsuario(db.Model):
__tablename__ = 'rel_notificacion_usuario'
id_usuario = db.Column(db.Integer, primary_key = True, db.ForeignKey('usuarios.id_usuario'))
id_centro = db.Column(db.Integer, primary_key = True, db.ForeignKey('notificaciones.id_notificacion'))
creado_en = db.Column(db.DateTime)
actualizado_en = db.Column(db.DateTime)
gcm_id = db.Column(db.Text)
以下几行失败SyntaxError: non-keyword arg after keyword arg
id_usuario = db.Column(db.Integer, primary_key = True, db.ForeignKey('usuarios.id_usuario'))
id_centro = db.Column(db.Integer, primary_key = True, db.ForeignKey('notificaciones.id_notificacion'))
答案 0 :(得分:1)
根据文档http://docs.sqlalchemy.org/en/rel_0_9/core/metadata.html#sqlalchemy.schema.Column
这是好方法:
id_usuario = db.Column(db.Integer, db.ForeignKey('usuarios.id_usuario'), primary_key = True)
id_centro = db.Column(db.Integer, db.ForeignKey('notificaciones.id_notificacion'), primary_key = True)