Commit 24e1748
committed
Don't create dynamic classes for non-dynamic managers
We don't need to create custom managers when the manager isn't
dynamically created. This changes the logic to just set the type of the
manager on the class.
There's a small regression/limitations with this approach, as
demonstrated by the
custom_manager_without_typevar_returns_any_model_types test case. If the
manager is _not_ typed with generics (ie. `MyManager(Manager)`
vs `MyManager(Manager[T])` the manager will return querysets with `Any`
as the model type instead because of implicit generics.
That can be solved in one of two ways: either through
"reparametrization" as implemented in typeddjango#1030 possibly or through setting
the methods as attributes with type `Any` as we do for dynamic managers1 parent 2a6f464 commit 24e1748
File tree
5 files changed
+66
-172
lines changed- mypy_django_plugin
- lib
- transformers
- tests/typecheck
- fields
- managers
5 files changed
+66
-172
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | 13 | | |
15 | 14 | | |
16 | 15 | | |
17 | | - | |
18 | 16 | | |
19 | 17 | | |
20 | 18 | | |
| |||
34 | 32 | | |
35 | 33 | | |
36 | 34 | | |
37 | | - | |
38 | 35 | | |
39 | | - | |
| 36 | + | |
40 | 37 | | |
41 | | - | |
| 38 | + | |
42 | 39 | | |
43 | 40 | | |
44 | 41 | | |
| |||
350 | 347 | | |
351 | 348 | | |
352 | 349 | | |
353 | | - | |
354 | | - | |
355 | | - | |
356 | | - | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | | - | |
425 | | - | |
426 | | - | |
427 | | - | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
434 | | - | |
435 | | - | |
436 | | - | |
437 | | - | |
438 | | - | |
439 | 350 | | |
440 | 351 | | |
441 | 352 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
185 | 188 | | |
186 | 189 | | |
187 | 190 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | 188 | | |
235 | 189 | | |
236 | 190 | | |
| |||
254 | 208 | | |
255 | 209 | | |
256 | 210 | | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
271 | | - | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
272 | 214 | | |
273 | | - | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
274 | 223 | | |
275 | | - | |
276 | | - | |
277 | | - | |
278 | | - | |
279 | 224 | | |
280 | 225 | | |
281 | 226 | | |
282 | 227 | | |
283 | 228 | | |
284 | 229 | | |
285 | | - | |
286 | | - | |
287 | | - | |
| 230 | + | |
288 | 231 | | |
289 | 232 | | |
290 | 233 | | |
| 234 | + | |
291 | 235 | | |
292 | 236 | | |
293 | 237 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
680 | 680 | | |
681 | 681 | | |
682 | 682 | | |
683 | | - | |
| 683 | + | |
684 | 684 | | |
685 | 685 | | |
686 | 686 | | |
| |||
689 | 689 | | |
690 | 690 | | |
691 | 691 | | |
| 692 | + | |
692 | 693 | | |
693 | 694 | | |
| 695 | + | |
694 | 696 | | |
695 | 697 | | |
696 | 698 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
329 | 329 | | |
330 | 330 | | |
331 | 331 | | |
332 | | - | |
| 332 | + | |
333 | 333 | | |
334 | 334 | | |
335 | | - | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
336 | 368 | | |
337 | 369 | | |
338 | 370 | | |
339 | 371 | | |
340 | 372 | | |
341 | 373 | | |
342 | | - | |
| 374 | + | |
343 | 375 | | |
344 | 376 | | |
345 | 377 | | |
| |||
350 | 382 | | |
351 | 383 | | |
352 | 384 | | |
| 385 | + | |
353 | 386 | | |
354 | | - | |
| 387 | + | |
| 388 | + | |
355 | 389 | | |
356 | 390 | | |
357 | 391 | | |
| |||
364 | 398 | | |
365 | 399 | | |
366 | 400 | | |
367 | | - | |
| 401 | + | |
368 | 402 | | |
369 | 403 | | |
370 | 404 | | |
| |||
383 | 417 | | |
384 | 418 | | |
385 | 419 | | |
386 | | - | |
| 420 | + | |
387 | 421 | | |
388 | 422 | | |
389 | 423 | | |
| |||
397 | 431 | | |
398 | 432 | | |
399 | 433 | | |
400 | | - | |
| 434 | + | |
401 | 435 | | |
402 | 436 | | |
403 | 437 | | |
404 | 438 | | |
405 | 439 | | |
406 | 440 | | |
407 | | - | |
| 441 | + | |
408 | 442 | | |
409 | 443 | | |
410 | 444 | | |
| |||
427 | 461 | | |
428 | 462 | | |
429 | 463 | | |
430 | | - | |
| 464 | + | |
431 | 465 | | |
432 | 466 | | |
433 | 467 | | |
| |||
0 commit comments