具有来自同一张表的 2 个外键的 Django 模型

标签 django foreign-keys ambiguity

我想要一个 Django 模型,其中包含同一张表中的 2 个外键。这是一个事件表,其中包含 2 列员工信息:“参与者”和“接收者”。但是我得到这个错误:

Error: One or more models did not validate: tasks.task: Intermediary model TaskEvent has more than one foreign key to Employee, which is ambiguous and is not permitted.

是否有更好的建模方法?

我想我要添加一个 TaskEvent_to_Employee 表。其中将有两条记录,与每个 TaskEvent 相关的两名员工各有一条记录。有谁知道更简单的解决方法?

最佳答案

我还没有这样做,但我使用 inspectdb 从现有的数据库中生成了 models.py 文件,而这正是 inspectdb 返回的,所以它应该可以工作:

creator = models.ForeignKey(Users, null=True, related_name='creator')
assignee = models.ForeignKey(Users, null=True, related_name='assignee')

希望这对你有用——如果不行,我也会遇到问题。

关于具有来自同一张表的 2 个外键的 Django 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/583327/

相关文章:

python - 每个请求方法在 drf 序列化程序中进行不同的验证

python - 我如何正确地将参数传递给测试 Django Rest Framework 的 classbasedviews?

javascript - PyCharm:src 目录下的 JavaScript 文件被锁定

php - 我对两个表的选择无法正常工作

asp.net-mvc - ASP.NET MVC 4 引用单父实体的多个外键

django - d3js 返回 "[object%20Object]"和 "Uncaught TypeError: Cannot read property: nodes of undefined"

MySQL外键允许NULL?

c++ - 警告 : direct base class inaccessible in derived due to ambiguity; is this serious?

c++ - 如果 T 是模板参数,语句 T::x(y) 有何歧义?

c++ - 上下文敏感性与歧义