【问题标题】:Traverse foreign key and pull remote model data into Django admin遍历外键并将远程模型数据拉入 Django admin
【发布时间】:2011-02-21 19:08:33
【问题描述】:

如果您有指向该模型的本地外键,管理员是否可以从远程模型中提取字段?

class FirstModel(models.Model):
    [...]
    value12 = models.CharField()

class SecondModel(models.Model):
    [...]
    firstmodel = models.ForeignKey(FirstModel)

我想在管理员中提取 value12,任何时候有人查看/编辑 SecondModel。我想我可以通过内联来做到这一点,但是我失去了 Fields 和 FieldSets 的顺序。还有其他选择吗?理想的结果可以使用字段/字段集进行排序,并且是只读的。

【问题讨论】:

  • 呸,看来我不能用内联来做到这一点,因为我在 FirstModel 上没有/不能有指向 SecondModel 的 ForeignKey

标签: python django django-admin


【解决方案1】:

您应该能够访问第一个模型中的任何字段:firstmodel__value12

对于 SecondModel 的 list 视图:

list_display = ('firstmodel__value12',)

对于编辑视图,您可以使用formfield_overrides。要使其不可编辑,请指定一个只读小部件,例如喜欢this one 或提供您自己的。

【讨论】:

  • formfield_overrides 可以让我将字段设置为只读,但我不明白它如何让我在外国模型上指定字段。
  • 将 'firstmodel__value12' 传递给字段集肯定行不通。
  • 此外,ModelAdmin.readonly_fields 比使用只读小部件覆盖更容易。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-31
  • 2012-04-16
  • 1970-01-01
  • 2015-08-30
  • 2010-11-04
  • 2016-05-25
  • 1970-01-01
相关资源
最近更新 更多