【发布时间】:2021-10-15 00:15:31
【问题描述】:
我需要将 URL 中的一个参数传递给 Django Admin add 视图,这样当我键入 URL:http://localhost:8000/admin/myapp/car/add?brand_id=1 时,add_view 会读取 brand_id 参数.我想使用它,以便为Car 的brand 属性设置默认值。
def get_form(self, request, obj=None, **kwargs):
form = super(CarAdmin, self).get_form(request, obj, **kwargs)
form.base_fields['brand'].initial = <<GET['brand_id']>>
return form
用例:我想要这个,因为在我的 BrandsAdmin 中,我为每个品牌添加了一个“+”按钮,应该添加一个 Car 和 Brand 作为 FK。
我尝试从 get_form 中的 request 获取它,但是当执行该代码时,Django 已经更改了我的 URL,因为我猜它不会将其理解为“合法”参数。
非常感谢!
【问题讨论】:
标签: python django django-admin