Alexander Viklund
71751d3795
Issue 309 ( #383 )
...
* added tags for user models
* type test for HttpRequest.user
* test for User and AnonymousUser tags
* httrequest test fix
* checking python version fix for readibility
* Rewrite version check for readability
* Annotate is_authenticated/is_anonymous with Literal-type
* Add auth in INSTALLED_APPS in test
* Fix wrong type assertion in test
* Fix misconception of how branch-testing works
* Remove user from WSGIRequest
* Change HttpRequest-transformer to set user-type to include AnonymousUser
* Add check for anonymous_user_info=None to appease mypy
* Isort transformers/request
* Remove trailing whitespace
* Remove unused import
Co-authored-by: Kacper Szmigiel <szmigielkacper@gmai.com >
2020-06-03 20:29:19 +03:00
Maksim Kurnikov
cb123de105
BaseManager.from_queryset(): properly resolve methods for QuerySet defined in another file ( #282 )
...
* BaseManager.from_queryset() from another file
* only anal_type per argument
* add resolve for return_type
* fix mypy errors
* remove leftover comment
2019-12-18 20:01:20 +03:00
Maksim Kurnikov
c1af26c027
handle return value of anal_type properly ( #280 )
2019-12-17 23:36:44 +03:00
Maksim Kurnikov
1196336e3b
Perform anal_type for arguments and return type when copying methods to another class ( #279 )
...
* Found the reproducible test case
* fix import resolution for method copy
* remove irrelevant parts from test
* fix mypy errors
Co-authored-by: Boger <kotvberloge@gmail.com >
2019-12-17 19:19:31 +03:00
Maksim Kurnikov
665f4d8ea1
Make related manager inherit from objects of related model ( #278 )
...
* related manager inherits from objects of related model
* fix test typechecking
* lint
2019-12-17 19:06:27 +03:00
Dima Boger
b3ed9e4827
Add inheritance QuerySet support for from_queryset ( #275 )
...
* Add testcase for queryset inheritance
* Add PoC
* Add condition for stop to looping over mro
* Change harcoded queryset class name to constant from fullnames
2019-12-16 20:16:41 +03:00
Maksim Kurnikov
d0c25e3bce
Allow to run from_queryset() with BaseManager, Manager ( #271 )
...
* allow to run from_queryset() with BaseManager, Manager
* fix tests
2019-12-13 20:16:33 +03:00
Maksim Kurnikov
5832605053
Remove warning about unsupported expression types ( #266 )
...
* remove warning about unsupported expression for _meta.get_field()
* lint
2019-12-12 08:20:52 +03:00
Maksim Kurnikov
31e795016f
values(), values_list() with ManyToManyField ( #267 )
2019-12-12 08:09:47 +03:00
Maksim Kurnikov
ade48b6546
Add support for BaseManager.from_queryset() ( #251 )
...
* add support for BaseManager.from_queryset()
* cleanups
* lint fixes
2019-12-12 05:35:56 +03:00
Maksim Kurnikov
b8f29027d8
Suppress IncompleteDefnException on final_iteration and continue with the loop ( #260 )
...
* suppress IncompleteDefnException on final_iteration
* lint
2019-12-12 01:04:24 +03:00
Maxim Kurnikov
2c4827bbaf
properly change type of self for methods on custom manager classes
2019-11-30 22:08:16 +03:00
Konstantin Alekseev
cbc7159995
Support mypy 0.750
2019-11-30 13:39:28 +03:00
Maksim Kurnikov
8d986a0f43
remove catch-all __getattr__ for Manager, fix some issues with manager methods ( #227 )
2019-11-12 20:36:07 +03:00
Maxim Kurnikov
7e3f4bfa02
Fix ForeignKey type for self-reference defined in the abstract model ( #200 )
2019-10-05 21:36:29 +03:00
Maxim Kurnikov
db9ff6aaf6
Fix crash if model from same app referenced in RelatedField cannot be resolved ( #199 )
...
* do not crash if model from same app refd in ForeignKey cannot be resolved
* bump to 1.2.0
2019-10-05 20:00:51 +03:00
Maxim Kurnikov
717be5940f
Reorganize code a bit, add current directory to sys.path ( #198 )
...
* reorganize code a bit
* add current directory to sys.path
* remove PYTHONPATH mention from the docs
* linting
2019-10-05 19:44:29 +03:00
Maxim Kurnikov
02bdf5be95
add support for typechecking of filter/get/exclude arguments ( #183 )
...
* add support for typechecking of filter/get/exclude arguments
* linting
2019-09-30 03:05:40 +03:00
Maxim Kurnikov
2c23d8e70f
Use runtime information to determine whether class is a models.Model subclass ( #182 )
2019-09-28 04:05:54 +03:00
Daniel Hahler
afcd0d9293
Bump isort, use --diff ( #164 )
...
* dev-requirements: bump isort: 4.3.4 => 4.3.21
* isort: use --diff
* known_first_party = mypy_django_plugin
* Run isort
2019-09-23 20:45:43 +03:00
Maxim Kurnikov
29ac1c3017
Split AddManagers for model in separate stages to process IncompleteDefnException properly ( #171 )
2019-09-18 02:20:20 +03:00
Maxim Kurnikov
23ad65033b
add custom Field processing for mixins used in the Model subclasses ( #167 )
2019-09-18 01:40:41 +03:00
Maxim Kurnikov
2b53fa5a1a
Fix typecheck tests ci ( #165 )
...
* remove mention of mypy newsemanal to prepare for 0.730
* make typecheck_tests CI really work
* fix lints
* fix intentional error
* merge stderr in stdout to preserve order
Co-authored-by: Daniel Hahler <github@thequod.de >
2019-09-16 14:35:13 +03:00
Maxim Kurnikov
fc9a335dfd
make ValuesQuerySet have proper Collection generic type ( #140 )
2019-08-24 18:24:21 +03:00
Maxim Kurnikov
e95b40ef52
stability fixes
2019-08-24 17:04:50 +03:00
Maxim Kurnikov
d7e8222163
Fix related fields inheritance from abstract models ( #138 )
2019-08-24 02:35:55 +03:00
Maxim Kurnikov
656105bab2
make first() an Optional, allow to specify QuerySet with one parameter ( #136 )
2019-08-23 03:31:07 +03:00
Maxim Kurnikov
27793ecd32
allow to subclass queryset without loss of typing
2019-07-26 22:40:37 +03:00
Maxim Kurnikov
6b21a0476d
Remove psycopg2 from dependencies ( #117 )
...
* remove psycopg2 from direct dependencies, only add it in tests
* bump to 1.0.1
* fix mypy
2019-07-26 18:39:42 +03:00
Maxim Kurnikov
735b58e9bf
values_list for related model id flat True ( #113 )
2019-07-25 21:33:45 +03:00
Maxim Kurnikov
62dac1d468
remove some asserts that could be validly triggered
2019-07-25 19:53:12 +03:00
Maxim Kurnikov
409c01eb24
allow to specify QuerySet with one parameter
2019-07-25 19:22:59 +03:00
Maxim Kurnikov
4c21855641
fix mypy errors
2019-07-25 18:52:51 +03:00
Maxim Kurnikov
ae8e42dd53
lint
2019-07-24 22:56:14 +03:00
Maxim Kurnikov
b6a5ccabdf
move configuration to [mypy.plugins.django-stubs] inside mypy config file
2019-07-24 22:32:52 +03:00
Maxim Kurnikov
df021f6baa
add some support for proxy models
2019-07-24 13:39:23 +03:00
Maxim Kurnikov
57796077c6
create(id=None) is valid, if id is AutoField
2019-07-24 13:38:50 +03:00
Maxim Kurnikov
4dfa363521
lint fixes
2019-07-24 13:38:50 +03:00
Maxim Kurnikov
2c001fd8a7
cleanups
2019-07-24 13:38:49 +03:00
Maxim Kurnikov
a0db24c764
add objects to model, trade false positive for false negative
2019-07-24 13:38:49 +03:00
Maxim Kurnikov
39fb48b08a
fix httprequest other fields
2019-07-24 13:38:49 +03:00
Maxim Kurnikov
d7d379e1cd
create dummy classes for custom_manager_of_model usecase
2019-07-24 13:38:49 +03:00
Maxim Kurnikov
df77299c2f
cleanups
2019-07-24 13:38:49 +03:00
Maxim Kurnikov
b86d33c718
allow custom app label for ForeignKey
2019-07-24 13:38:49 +03:00
Maxim Kurnikov
fa57fb0cbf
request.user has type of AUTH_USER_MODEL
2019-07-24 13:38:49 +03:00
Maxim Kurnikov
248504c25a
various fixes
2019-07-24 13:38:49 +03:00
Maxim Kurnikov
fee4aad3d0
fix OneToOneField without related_name
2019-07-24 13:38:49 +03:00
Maxim Kurnikov
fc9843bea6
add support for _meta.get_field() typechecking
2019-07-24 13:38:49 +03:00
Maxim Kurnikov
5bb1bc250d
add get_next_by_FOO, get_previous_by_FOO for date,datetime fields
2019-07-24 13:38:49 +03:00
Maxim Kurnikov
1721c997be
add support for get_FIELD_display for choices fields
2019-07-24 13:38:49 +03:00