django - 我可以在代理模型中覆盖 ForeignKey 的 related_name 吗?
问题描述
我有一个 Django 模型ActivityLog
来跟踪系统中的一般用户相关活动。我创建了一个代理模型StudentActivityLog
,在其中收集了与用户活动相关的学生特定业务逻辑。这个代理模型也有一个自定义模型管理器。
class ActivityLog(models.Model):
person = models.ForeignKey(
"Person", on_delete=models.PROTECT, related_name="activity_logs"
)
# ...
class StudentActivityLogManager(models.Manager):
def custom_something():
# ...
class StudentActivityLog(models.Model):
objects = StudentActivityLogManager()
class Meta:
proxy = True
# ...
当我有一个Person
实例时,我希望能够编写person.student_activity_logs.custom_something()
访问学生模型管理器的方法。但是,此属性不可用,我只能访问person.activity_logs
但显然没有custom_something()
. 我知道这StudentActivity.objects.filter(person=student).custom_something()
会起作用,但我想知道我是否可以避免这种乏味的格式。
解决方案
推荐阅读
- node.js - 从 SecretsManager 检索 ppk 文件并传递给 ssh2-sftp-client
- python - 循环类型错误的 Alpha Vantage:字符串索引必须是整数
- python - 将 Django 部署到 Heroku 会导致服务器错误 (500)
- python - 带有构造函数的类,它剥离文本文件并将元素移动到列表
- php - xpath
查询
和 - python - 编译 Python 程序但也输出颜色?
- python - 基于 python 证书的身份验证中的 REST 请求,在 SOAPUI 中工作
- javascript - 类、颜色之间的平滑过渡 | .classList.toggle,JavaScript
- r - 在 R 中使用循环创建一系列回归
- python - 为什么这个回滚功能不能按预期工作