Python 在django admin中将外部模型字段显示为可编辑

Python 在django admin中将外部模型字段显示为可编辑,python,django,django-admin,Python,Django,Django Admin,我有一个带有外键的Django型号: class Library: name=models.CharField() class Book: title=models.CharField() library=models.ForeignKey(Library) models.py 管理员 在管理中,我想显示Book并在Book视图中显示Library.name的可编辑字段(而不是内联): 作为只读,这很容易(只需在Book模型中创建一个返回库名值的方法),但我无法使其对可编辑字段起

我有一个带有外键的Django型号:

class Library:
  name=models.CharField()

class Book:
  title=models.CharField()
  library=models.ForeignKey(Library)
models.py

管理员

在管理中,我想显示
Book
并在
Book
视图中显示
Library.name
可编辑字段(而不是内联):


作为只读,这很容易(只需在Book模型中创建一个返回库名值的方法),但我无法使其对可编辑字段起作用,我尝试使用
字段=('title','library.name')
字段=('title','library_uname')
但没有成功

尝试在类似的模型中使用
相关的库名

library=models.ForeignKey(library,related_name=“library”)


然后使用
字段=('title','library\uu name')
它应该可以工作。

您需要一个内联模型管理员:


我不能这样做。更改相关的\u名称似乎不会更改
书籍
视图中的
字段
的行为。。如果可能,请提供更多详细信息异常类型:FieldError异常值:为图书指定的未知字段(库名称)。检查BookAdmin类的字段/字段集/排除属性。这与我在编辑您的问题并显示您编写的管理类之前遇到的错误相同。您希望在添加对象时显示此字段,还是希望它显示在用于列出项目的类页面中?请尝试在中执行类似操作
class BookAdmin(admin.ModelAdmin):
  extra = 0
  fields = ['title', 'library__name'] # library__name not found

admin.site.register(Book, BookAdmin)
> Book
  * Title: "Foo"
  * Library Name: "Bar"