在我的项目中,我有 2 个模型,它们具有相互指向的 ManyToMany 字段。在这种情况下,我有选举和候选人。这个想法是一个选举可以有多个候选人,一个候选人也可以是多个选举的一部分(一个“候选人”只是一个人)。
我有以下内容:
项目/选举/模型.py
from candidates.models import Candidate
class Election(models.Model):
candidates = models.ManyToManyField(Candidate)
...
项目/候选人/models.py
from elections.models import Election
elections = models.ManyToManyField(Election)
...
当我尝试运行任何命令(makemigrations、runserver 等)时,我在 Election 和 Candidate 之间出现循环依赖,这导致崩溃。作为编码实践,我在不同的应用程序中拥有模型。
Should I:
Move both models to one app and one file
Not have the models pointing to each other (how would I then accomplish my goal?)
Do something different
最佳答案
您不需要这样做。多对多字段已经是双向的。只需在一侧 定义它,然后使用反向关系。
关于python - 2个指向彼此的对象之间的Django ManyToManyField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54153588/