想了半天也不知道怎么用简洁的方式描述, 所以搜索引擎里面也没找到特别对应的方法.
需求上大概是这么描述:
用户表
. 里面有两条记录是 id=1, name='Tom', age=28
, id=2, name='Tom', age=35
. 注意到有两个同名的用户, 是用id
保证唯一性的id
让用户填写, 一般都是提供 name
比较合理. 这里的问题是, name
字段是有重名情况的所以我的需求是, 当用户选择了 Tom
这个人的时候, 会动态显示这个 Tom
的其他属性在页面上, 可以显示在表单里自动补全, 也可以做个模态框都行(但模态框最好是做个问号图标, 鼠标悬停在上面就显示)
这样一来, 虽然有名字重名的情况, 但我可以通过这个人的其他属性分辨出来某个项目是否分配给了合适的人 (age 当然也会重复, 这里只是举个例子)
如果是 django 里面自己写的页面, 用 ajax 向数据库查询一下应该就好了, 但是现在暂时要利用一下现成的 django admin 模块的话, 要怎么在 django admin change 页面实现这个功能呢?
我找过一些方法, 比如扩展 django admin change 这个模版之类的, 但不确定这么做是不是最佳实践
谢谢大佬们赐教
明明选了 markdown 格式, 但是不知道为什么没有正确显示代码引用……
1
izoabr 2022-02-02 12:46:20 +08:00 1
如果坚持要用自带的 admin ,就直接定义这个用户模型的__str__()吧
```python def __str__(): return f"{self.department.name}_{self.name}" ``` |
3
freakxx 2022-02-02 22:57:40 +08:00 1
|
4
volvo007 OP @freakxx 好的, 我回头试试. 看起来要点是在函数里拿到外键相关联的 object, 拿到之后调用这个 object 的属性返回就可以了
|