django - *_set 来自不同应用程序的模型的属性
问题描述
我在不同的应用程序中定义了两个模型,通过多对多关系相关:
#App 1, models.py
class Parent(models.Model):
name=models.CharField(max_lenght=10)
#App2, models.py
from App1.models import Parent
class Child(models.Model):
parents = models.ManyToManyField(
to = Parent,
blank = True,
default = None,
related_name = 'padres'
)
我想从父模型访问子元素。当模型在同一个应用程序中时,你可以只做child_set,但在这种情况下,它是没有定义的。有什么办法吗?
我无法在 Parent 中定义 M2M 关系,因为我在 App2 中从 App1 导入其他模型,这样做会导致循环导入。
解决方案
由于您在 Child 模型中设置了相关名称,因此以下代码应该执行此操作-
parents=get_object_or_404(Parent, id=2)
childs=parents.padres.all()
推荐阅读
- bash - 如何将 bash 命令的输出写入 csv 文件?
- php - 致命错误:未捕获的错误:在验证条件下调用成员
- xml - Power Automate XML 本地名称语法不适用于 SharePoint 表单库
- javascript - 如何将css文件中的css类添加到js变量中
- php - 验证是否使用 base 64 和相等的问题
- python - 在 Python 中为一组周分数分配点数
- javascript - Socket.io 未能发出函数
- python - 为什么`print(exec(...))`返回`None`?
- flutter - 如何从列表中删除所有相同的数据
除了最后一个?颤动 - laravel - 向 mysql 视图模型添加多态关系?