在我的视图中获取相关(通过ForeignKey)对象

时间:2010-07-22 07:36:51

标签: django django-models django-views

我有一个这样的模型:

class database(models.Model):
  db_name = models.CharField('Name', max_length=20)
  server = models.ForeignKey(dbServer, unique=True)
  user = models.ForeignKey(User)

在我看来,我想抓住每个与当前用户相关的数据库(必须在此时登录)。 我确信有一种简单的方法可以做到这一点,但我找不到它。

2 个答案:

答案 0 :(得分:4)

你可以简单地使用:

some_user.database_set.all()

我怎么建议尝试使用related_name属性,例如:

class database(models.Model):
    db_name = models.CharField('Name', max_length=20)
    server = models.ForeignKey(dbServer, unique=True)
    user = models.ForeignKey(User, related_name="databases")

然后:

some_user.databases.all()

答案 1 :(得分:1)

使用backwards relationship

databases = User.database_set.all()