GSoC 2025 Proposal: Django Admin: Add Command Palette

I’m applying for GSoC 2025 and interested in the idea Django Admin: Add Command Palette. This is my proposal @tom.

There’re two things I want to mention here. First I didn’t brainstorm new shortcuts in the proposal, because it’s actually quite easy to add a new one once we make the project more extensible so I decide to focus on something else. Second I didn’t put too much code in the proposal because I didn’t want to make it too tiring to read.

Feel free to ask if you have any question or suggestion.

I think your proposal is quite nice for the short version. Few things I’d maybe say:

  • don’t underestimate the time it will take to get it merged to core, even small piece of code can take months to get merged, and this is quite a large feature
  • selenium and qunit are both (IMO) quite painful to work with, you might want to dedicate some time to writing tests for the existing functionality in the repo
  • would be good also to think about documentation, how can devs add new shortcuts, etc.?

Thanks for your feedback.

Just made some modifications to my schedule and I guess the time management is more reasonable now. And I kept some time for writing documentation.

Good idea, I will start getting familiar with selenium and qunit and try to write some tests tomorrow. Before GSoC officially starts, I will also consider writing as many tests as possible until they have covered every method. But here is a thing: the names of issues “Add selenium tests” and “Add qunit tests” seem too broad, we probably would like to write tests little by little. So maybe it’s better to divide these test writing issues into more smaller tasks?

(Update) Tried writing some selenium tests today and met some problems. I’ve opened a Draft PR about it.

By the way I haven’t noticed the issue Add a shortcut to jump to any model instance until now :upside_down_face: It seems that my ideas about model instance jumping were in a wrong direction. I will try to understand the issue description and figure out a more detailed implementation plan recently.