Skip to content

Commit 15915c3

Browse files
timoniqaminalaee
andauthored
Fix PK getters for related objects (#449)
Co-authored-by: Amin Alaee <[email protected]>
1 parent 6db0e50 commit 15915c3

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,5 @@ coverage.xml
1212
examples/
1313
.vscode/
1414
.uploads
15+
test.db
16+
coverage.xml

sqladmin/models.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -736,23 +736,23 @@ async def _run_query(self, stmt: ClauseElement) -> Any:
736736
return await anyio.to_thread.run_sync(self._run_query_sync, stmt)
737737

738738
def _url_for_details(self, request: Request, obj: Any) -> Union[str, URL]:
739-
pk = getattr(obj, self.pk_column.name)
739+
pk = getattr(obj, get_primary_key(obj).name)
740740
return request.url_for(
741741
"admin:details",
742742
identity=slugify_class_name(obj.__class__.__name__),
743743
pk=pk,
744744
)
745745

746746
def _url_for_edit(self, request: Request, obj: Any) -> Union[str, URL]:
747-
pk = getattr(obj, self.pk_column.name)
747+
pk = getattr(obj, get_primary_key(obj).name)
748748
return request.url_for(
749749
"admin:edit",
750750
identity=slugify_class_name(obj.__class__.__name__),
751751
pk=pk,
752752
)
753753

754754
def _url_for_delete(self, request: Request, obj: Any) -> str:
755-
pk = getattr(obj, self.pk_column.name)
755+
pk = getattr(obj, get_primary_key(obj).name)
756756
query_params = urlencode({"pks": pk})
757757
url = request.url_for(
758758
"admin:delete", identity=slugify_class_name(obj.__class__.__name__)

0 commit comments

Comments
 (0)