在django管理员中,如果两者之间存在关联,则可以从另一个模型中添加,编辑甚至删除对象。
例如,如果我的代码如下:
class Category(models.Model):
...
class Product(models.Model):
...
category = models.ForeignKey(Category)
当我使用django管理站点编辑/添加产品时,在类别字段中,我有3个按钮来添加/编辑/删除类别。在新窗口中添加一个,然后提交表单,添加类别,关闭窗口,然后我将返回带有附加类别的产品表单。像这样:
我该如何在普通应用程序(管理员以外)中使用表单?
答案 0 :(得分:1)
您正在寻找的功能已在this帖子中进行了详细说明。希望有用。
答案 1 :(得分:0)
如果我正确理解了您的问题,则可以执行django管理员的操作,即将add
按钮链接到此:
/admin/<your_app>/<your_model>/add/?_to_field=id&_popup=1
,然后使用一些javascript取回刚刚创建的新对象。如果查看contrib/admin/static/admin/js/admin/RelatedObjectLookups.js
文件(使用django的代码),则会看到一些函数,这些函数将调用字段的ID传递给弹出窗口(在showRelatedObjectPopup
中),然后将选定的字段带回id(在dismissRelatedLookupPopup
中)。
这是用于添加新对象,但是您可以查看更改/删除的逻辑。
您可以使用自己的形式复制该逻辑。