小编kev*_*one的帖子

SQLAlchemy如何使用声明式映射单列一对一关系

这与转换为声明性方法和列属性的问题有关,这一问题从未得到解答.

我们正在尝试在现有模式(我们无法更改)上设置Flask-SQLAlchemy项目,并决定声明性语法,以便我们可以以合理的方式将类组织到多个文件中进行维护.这适用于我们的大多数关系,除了我们称之为的东西,因为缺少更好的术语,属性表.这些是一些主要对象的一对一叶表,通常包含属性的某种受控词汇表.ORM的目标是将所有这些(其中有很多)类型的表映射为它们是主表的属性.

这是一个带有两个表的SQA示例:

class MarkerType(db.Model):
    __tablename__="mrk_types"
    _marker_type_key = db.Column(db.Integer,primary_key=True)
    name = db.Column(db.String())

class Marker(db.Model):
    __tablename__="mrk_marker"
    _marker_key=db.Column(db.Integer,primary_key=True)
    _marker_type_key=db.Column(db.Integer())
Run Code Online (Sandbox Code Playgroud)

我们想要访问MarkerType.name,就像我们说Marker.markertype一样,或者在查询中看Marker.markertype =='thing'.我可以管理的唯一方法是使用Marker类中的column_property,如下所示:

markertype = db.column_property(
            db.select([MarkerType.name]).
            where(MarkerType._marker_type_key==_marker_type_key)
    )
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法以声明的方式找到如何做到这一点,也许这种方式不存在.是否有一种理智的方式,我可以实现这一点,而不必担心我的进口,甚至更糟糕的课程顺序?由于我们有数百个表要映射,如果我们不得不担心类和导入顺序,我会发现这是一个维护噩梦.

如果所有这一切都完全不可能,一厢情愿,那么映射这些表的更好方法是什么?

python orm sqlalchemy flask-sqlalchemy

7
推荐指数
1
解决办法
2197
查看次数

悬停在父级上不会影响标记标记CSS

如何将父容器(如div或锚)中的悬停样式应用于标记标记?我知道这是嵌套在父类中的其他元素的默认行为,如span.但是,当我使用标记标记时,它对我不起作用.

这里有三个例子,1)带有标记的div,2)带有标记的锚,3)带有跨度的锚.如果您将父项悬停在子项之外,则会更改范围,但不会更改标记.

<div>
  Outside div <mark>inside mark</mark>
</div>

<a>
  Outside anchor <mark>inside mark</mark>
</a>
<br>
<a>
  Outside anchor <span>inside span</span>
</a>
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/ku6drqt5/

我很想知道阻止它工作的标记标记有什么特别之处,以及我如何纠正它.否则,欢迎简单的解决方法.

注意:我使用的是Chrome v48.

html css

5
推荐指数
1
解决办法
438
查看次数

标签 统计

css ×1

flask-sqlalchemy ×1

html ×1

orm ×1

python ×1

sqlalchemy ×1