Django - 管理员:在没有 inlineForm 的情况下编辑子模型
标准示例:
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author)
#... Many other fields ...
我想从作者
更改页面编辑书籍
。
我尝试使用 InlineModelAdmin 但自从 Book
字段较多,不易编辑。
这就是为什么我尝试在作者/更改模板上添加指向孩子的链接。
<ul>
<li><a href="{% url admin:content_scribpart_add %}">Add a Book</a></li>
{% for book in original.book_set.all %}
<li><a href="{% url admin:myapp_book_change book.id %}">Edit {{ book }}</a></li>
{% endfor %}
</ul>
但有几个问题
- 我如何在
Book
表单中预填充相关的Author
id - 如何让保存按钮返回到相关
作者
- 我走在正确的道路上吗?
Standard example:
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author)
#... Many other fields ...
I'd like to edit the Book
s from the Author
change page.
I tried with InlineModelAdmin but since Book
has many fields, it's not easy to edit.
That's why I tried to put links towards the children on the author/change template.
<ul>
<li><a href="{% url admin:content_scribpart_add %}">Add a Book</a></li>
{% for book in original.book_set.all %}
<li><a href="{% url admin:myapp_book_change book.id %}">Edit {{ book }}</a></li>
{% endfor %}
</ul>
But there are several questions
- How can I prepopulate the related
Author
id in theBook
form - How can I make the Save button to go back to the related
Author
- Am I on right track ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,当然。
将
author
主键作为GET
参数附加到您的网址:<前><代码>
;- 添加图书
- 编辑{{ book }}
{% for 图书在original.book_set.all %}
{% 结束 %}
修改图书相应的
ModealAdmin
,覆盖response_add()
和response_change()
。请注意,我们还 覆盖formfield_for_forein_key
以便预先填充author
字段:Yes, sure.
Append
author
primary key asGET
parameter to your url:Modify the corresponding
ModealAdmin
for book, overrideresponse_add()
andresponse_change()
. Note that we also overrideformfield_for_forein_key
in order to pre-populateauthor
field: