Ich verwende deklarative SQLAlchemy und ich habe drei Modelle: Role
, Permission
und RolePermission
. In meinem Role
-Modell habe ich Folgendes:
Jetzt funktioniert die permissions
-Deklaration einwandfrei, und die mit einer Rolle verbundenen Berechtigungen werden wie erwartet (nach Name) sortiert angezeigt. % Co_de% schlägt jedoch mit dem folgenden Fehler fehl:
sqlalchemy.exc.ProgrammingError: (Programmierfehler) ('42000', '[42000] [Microsoft] [ODBC SQL Server Treiber] [SQL Server] Die mehrteilige ID "ROLES.NAME" konnte nicht gebunden werden. ( 4104) (SQLExecDirectW); [42000] [Microsoft] [ODBC SQL Server-Treiber] [SQL Server] Statement (s) konnten nicht vorbereitet werden. (8180) ') Wählen Sie [ROLES_PERMISSIONS]. [ROLE_ID] AS [ROLES_PERMISSIONS_ROLE_ID] , [ROLES_PERMISSIONS]. [PERMISSION_ID] AS [ROLES_PERMISSIONS_PERMISSION_ID], [ROLES_PERMISSIONS]. [IS_DENIED] AS [ROLES_PERMISSIONS_IS_DENIED] \ nFROM [ROLES_PERMISSIONS] \ nWHERE [ROLES_PERMISSIONS]. [ROLE_ID] =? ORDER BY [ROLES]. [NAME] '(19,)
Das Problem besteht darin, dass permissionLinks
nicht verknüpft ist und daher nicht nach Role
sortiert werden kann. Ich habe versucht, Role.name
anzugeben, aber das schien nichts zu ändern. Wie kann ich einen Join für diese Beziehung angeben, sodass ich nach einem Feld in einer der verbundenen Tabellen sortieren kann (nämlich primaryjoin=id == RolePermission.id1
)?
Ich konnte keine dieser Lösungen funktionieren lassen, aber ich fand einen einfacheren Weg.
%Vor%Gefunden hier: Ссылка
Das Problem liegt in der permissionLinks
-Beziehung. Die Sortierung nach by Role.name
ergibt für mich keinen Sinn.
Tags und Links python sql sqlalchemy model declarative