138 | | This is [https://code.djangoproject.com/ticket/29898 Ticket #29898]. |
139 | | It's a big task overall, that was part of a successful GSoC project in 2021. |
140 | | Carrying-on and extending that work would be a great addition. |
141 | | |
142 | | (Hard project. 350hr project) |
143 | | |
144 | | Possible mentor: ''Mariusz Felisiak''. |
| 138 | This is [https://code.djangoproject.com/ticket/29898 Ticket #29898]. |
| 139 | It's a big task overall, that was part of a successful GSoC project in 2021. |
| 140 | Carrying-on and extending that work would be a great addition. |
| 141 | |
| 142 | Hard project. 350hr project |
| 143 | |
| 144 | Would require knowledge of the Django ORM, plus an investigation of the |
| 145 | previous project, and discussions linked from that. |
| 146 | |
| 147 | Expected outcome would be a PR (or a number of them) on the migrations |
| 148 | framework. |
| 149 | |
| 150 | Possible mentor: ''Mariusz Felisiak'', ''Simon Charette''. |
175 | | Creating a test harness using (say) [https://locust.io Locust.io] would make a great project. |
176 | | |
177 | | (Likely medium difficulty. Could be scoped as a 175hr or a 350hr project) |
| 185 | Creating a test harness using (say) [https://locust.io Locust.io] would make a great project. |
| 186 | |
| 187 | Likely medium difficulty. Could be scoped as a 175hr or a 350hr project |
| 188 | |
| 189 | Would require some sys-admin knowledge to spin-up a testing harness and |
| 190 | coordinate multiple services. Knowledge of GitHub Actions CI for integration |
| 191 | would be useful. |
| 192 | |
| 193 | Expected outcome would be improvements to the way in which we can the |
| 194 | benchmarking suite, and ideally integration with the Django CI. |
200 | | Adjusting `DatabaseSchemaEditor.sql_create_fk()` to be able to use the native options is the beginning. |
201 | | |
202 | | (Hard project. 350hr project) |
| 222 | Adjusting `DatabaseSchemaEditor.sql_create_fk()` to be able to use the native options is the beginning. |
| 223 | |
| 224 | Medium project. 350hr project |
| 225 | |
| 226 | Would require knowledge of the Django ORM, SQL, and the supported database backends. |
| 227 | Significant work has already gone into the project, so research of the links given would be needed, and beneficial. |
| 228 | |
| 229 | Expected outcome would be a PR adding support for Database-level Cascades to the Django ORM. |
210 | | You may want a [https://docs.djangoproject.com/en/4.0/howto/custom-lookups/ custom lookup] not for every instance of a `Field`, but just **this** instance, on **this** model. |
211 | | |
212 | | Implementing that would be a lovely addition to the ORM. |
213 | | |
214 | | (Hard project. 350hr project) |
215 | | |
216 | | Possible mentor: ''Mariusz Felisiak''. |
217 | | |
218 | | == Add rate-limiting to core == |
219 | | |
220 | | There's an old ticket [https://code.djangoproject.com/ticket/21289 Add login rate limiting to contrib.auth]. |
221 | | There's a quite recent [https://github.com/django/django/pull/13242 WIP PR] that shows the way there. |
222 | | |
223 | | Contrasting with the third-party [https://django-ratelimit.readthedocs.io/en/stable/index.html django-ratelimit] to determine what's the appropriate scope for what we'd want in the core framework would be important, and a good source of stretch-goals. |
224 | | |
225 | | (Hard project. 350hr project) |
| 237 | You may want a [https://docs.djangoproject.com/en/4.0/howto/custom-lookups/ custom lookup] not for every instance of a `Field`, but just **this** instance, on **this** model. |
| 238 | |
| 239 | Implementing that would be a lovely addition to the ORM. |
| 240 | |
| 241 | Medium project. 350hr project |
| 242 | |
| 243 | Would require knowledge of the Django ORM, and the lookup API. |
| 244 | |
| 245 | Expected outcome would be a PR adding support for per-field-instance lookups to |
| 246 | the Django ORM. |
| 247 | |
| 248 | Possible mentor: ''Mariusz Felisiak''/''Carlton Gibson''. |
| 249 | |
| 250 | == Add rate-limiting to core == |
| 251 | |
| 252 | There's an old ticket [https://code.djangoproject.com/ticket/21289 Add login rate limiting to contrib.auth]. |
| 253 | There's a quite recent [https://github.com/django/django/pull/13242 WIP PR] that shows the way there. |
| 254 | |
| 255 | Contrasting with the third-party [https://django-ratelimit.readthedocs.io/en/stable/index.html django-ratelimit] to determine what's the appropriate scope for what we'd want in the core framework would be important, and a good source of stretch-goals. |
| 256 | |
| 257 | Medium project. 350hr project |
| 258 | |
| 259 | Would require knowledge of Django's HTTP layer, and middleware. Research into the existing PR and third-party package would be required, and beneficial. |
| 260 | |
| 261 | Expected outcome would be a PR adding rate-limiting to Django. |