Django Admin: want to prepopulate some fields when I click the add button (+) next to a foreign key

我们两清 提交于 2020-06-25 03:24:11

问题


In the Django Admin I want to use data from the current record to populate fields for a foreign key record when I click the add (+) button next to the drop-down list.

For example, I am viewing an instance of X which has fields for a, b, and c and a foreign key Y. Y also has fields for a, b, and c, so when I click on the "add" button on the X instance, I want the a, b, and c fields for the new Y instance to be populated with the values from the X instance.

Obviously these fields would not be pre-populated if I just go to "add new Y" in the admin!

I have searched quite a bit to no avail!

Anyone had any success?

(I'm using django 1.3 with Python 2.6; I don't think any code snippets are required here.)


回答1:


Sorry, may be a bit too late but I think this is the answer

Django support url param in admin. You can do like this

http://localhost/admin/app/model/add/?model_field=value

then you can add foreign key by replace model_field with your foreign key name and value with the ID. Hope this help someone else :D




回答2:


So you would prefer to have an additional button called "Add new Y" that inserts another row into Y with data from X?

Then override the save() method on X so it inserts a row into Y every time it gets called.



来源:https://stackoverflow.com/questions/9935176/django-admin-want-to-prepopulate-some-fields-when-i-click-the-add-button-ne

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!