таком вопросе:
У меня есть две модели, например X и Y. В модели Y есть foreignkey на X. И если я захожу в админку и открываю любую запись модели Y, то она очень долго грузится, так как её foreignkey-поле на X не является readonly и его можно изменять. то есть при открытии записи так же берутся из базы все записи модели X, чтобы отобразить их в выпадающем списке на странице редактирования. На данный момент записей в X около 35 000 и будет всё больше
Я знаю, что если это поле будет readonly для того пользователя, который смотрит запись, то проблемы не будет и страница откроется быстро, так как все записи модели X просто не будут загружаться. Но у меня есть одна роль в админке, которая позволяет определённому кругу пользователей редактировать эти записи и не хотелось бы, чтобы этот функционал у них пропадал
Собственно, вопрос: можно ли сделать так, чтобы в модели, у которой есть внешний ключ на другую, при попытке отредактировать это поле был не выпадающий список со всеми записями, а, например, что-то вроде поиска?
Или же всё же стоит пожертвовать возможностью редактирования в угоду скорости и, вероятно, более логически правильного решения?
django-select2
такое попробуй https://docs.djangoproject.com/en/4.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.raw_id_fields
Показать код можешь?
Обсуждают сегодня