Передача параметров в URL в Django Admin add_view
Мне нужно передать параметр в URL в представление Django Admin add, чтобы, когда я набираю URL: http://localhost:8000/admin/myapp/car/add?brand_id=1, add_view считывает параметр brand_id. Я хочу использовать это, чтобы я мог установить значение по умолчанию для атрибута brand в Car.
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.
Я пробовал получить его из request в get_form, но когда этот код выполняется, Django уже изменил мой URL, поскольку, я полагаю, он не понимает его как "законный" параметр.
Большое спасибо!
Полное объяснение вы можете найти здесь, но вкратце:
Вы можете получить доступ к параметрам запроса непосредственно из представления, у объекта запроса есть метод. Я предполагаю, что это GET-запрос, поэтому примером для вашей реализации будет:
request.GET.getlist("brand_id")
или
request.GET.get("brand_id")