python - 如何在 Django 模型中编写方法来检索相关对象?

标签 python django model-view-controller frameworks

我有两个模型。我们称它们为对象 A 和对象 B。它们的设计看起来像这样:

class Foo(models.Model):
     name = models.CharField()

class Bar(models.Model):
     title = models.CharField()
     Foo= models.ForeignKey('myapp.Foo')

现在,假设我想在 Foo 中创建一个方法,该方法返回所有引用该 Foo 实例的 Bar 对象。我该怎么做?

class Foo(models.Model):
     name = models.CharField()
     def returnBars(self):
         ????

最佳答案

你可以免费得到这个:

http://docs.djangoproject.com/en/dev/topics/db/queries/#backwards-related-objects

默认情况下,您可以访问一个管理器,该管理器允许您通过 RELATEDCLASSNAME_set 属性访问相关项目:

some_foo.bar_set.all()

或者您可以使用 ForeignKeyrelated_name 参数来指定应持有反向关系管理器的属性:

class Foo(models.Model):
     name = models.CharField()

class Bar(models.Model):
     title = models.CharField()
     foo = models.ForeignKey(Foo, related_name='bars')

...

some_foo.bars.all()

关于python - 如何在 Django 模型中编写方法来检索相关对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/221328/

相关文章:

python - Django 1.6 对大量模型对象的事务管理

python - 你如何使用 easy_install 安装 django 旧版本?

python - 获取 Django 中序列化程序保存的对象的最后插入 ID

php - 基于 Yaf 框架的应用程序不运行

asp.net-mvc - 在没有 Visual Studio 的情况下获取 SQL Server 的连接字符串

c++ - 文件夹复制 VC++

python - 二维 numpy 数组的所有可能组合

python - 如何返回网站并自动重定向到加载时间较长的另一端

python - 让 AWK 命令在 Python 脚本中工作

python - 为什么需要学习曲线来确定神经网络是否具有高偏差或方差?