170 похожих чатов

Всем привет! Подскажите, пожалуйста, можно ли как-то оптимизировать админку в

таком вопросе:

У меня есть две модели, например X и Y. В модели Y есть foreignkey на X. И если я захожу в админку и открываю любую запись модели Y, то она очень долго грузится, так как её foreignkey-поле на X не является readonly и его можно изменять. то есть при открытии записи так же берутся из базы все записи модели X, чтобы отобразить их в выпадающем списке на странице редактирования. На данный момент записей в X около 35 000 и будет всё больше

Я знаю, что если это поле будет readonly для того пользователя, который смотрит запись, то проблемы не будет и страница откроется быстро, так как все записи модели X просто не будут загружаться. Но у меня есть одна роль в админке, которая позволяет определённому кругу пользователей редактировать эти записи и не хотелось бы, чтобы этот функционал у них пропадал

Собственно, вопрос: можно ли сделать так, чтобы в модели, у которой есть внешний ключ на другую, при попытке отредактировать это поле был не выпадающий список со всеми записями, а, например, что-то вроде поиска?

Или же всё же стоит пожертвовать возможностью редактирования в угоду скорости и, вероятно, более логически правильного решения?

3 ответов

21 просмотр

django-select2

такое попробуй https://docs.djangoproject.com/en/4.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.raw_id_fields

Показать код можешь?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта