| 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. |