2
2
from sqlalchemy .orm import relationship , backref
3
3
import datetime
4
4
from app .db .base_class import Base
5
-
5
+ """
6
+ relationship 自引用加入remote_side use_list=False -> one-to-one 默认use_list=True
7
+ """
6
8
7
9
class Dict_Type (Base ):
8
10
"""数据字典"""
@@ -29,7 +31,7 @@ class Dict_Data(Base):
29
31
30
32
class Department (Base ):
31
33
"""部门表"""
32
- __table_args__ = {"useexisting " : True }
34
+ # __table_args__ = {"extend_existing ": True}
33
35
34
36
id = Column (Integer , primary_key = True , index = True , autoincrement = True )
35
37
code = Column (String (128 ), doc = "部门代码" )
@@ -40,13 +42,13 @@ class Department(Base):
40
42
start_date = Column (Date , default = datetime .date .today ())
41
43
end_date = Column (Date , default = '3000-12-31' )
42
44
43
- children = relationship ('Department' , uselist = True , order_by = order .asc (),
44
- backref = backref ('parent' , uselist = True , remote_side = [id ]))
45
+ children = relationship ('Department' , order_by = order .asc (),
46
+ backref = backref ('parent' ,uselist = False , remote_side = [id ]))
45
47
46
48
47
49
class Menu (Base ):
48
50
""" 菜单表"""
49
- __table_args__ = {"useexisting " : True }
51
+ # __table_args__ = {"extend_existing ": True}
50
52
51
53
id = Column (Integer , primary_key = True , index = True , autoincrement = True )
52
54
path = Column (String (128 ), doc = "路由" )
@@ -65,5 +67,6 @@ class Menu(Base):
65
67
parent_id = Column (Integer , ForeignKey ("menu.id" , ondelete = 'CASCADE' ), index = True ,
66
68
nullable = True , ) # ondelete='CASCADE' 联级删除
67
69
68
- parent = relationship ('Menu' , uselist = True , remote_side = [id ], backref = backref ('children' , uselist = True ))
70
+ parent = relationship ('Menu' , remote_side = [id ],uselist = False ,order_by = order .asc (),
71
+ backref = backref ('children' ))
69
72
role_menu = relationship ("Role_Menu" , backref = "menu" )
0 commit comments