support for some Field -> builtin type mapping, OneToOneField, ForeignKey

This commit is contained in:
Maxim Kurnikov
2018-10-04 03:32:58 +03:00
parent 97ec73411e
commit 3d7b517e59
8 changed files with 164 additions and 167 deletions

View File

@@ -16,4 +16,22 @@ def lookup_django_model(mypy_api: TypeChecker, fullname: str) -> SymbolTableNode
try:
return mypy_api.modules[module].names[model_name]
except KeyError:
return mypy_api.modules['django.db.models'].names['Model']
return mypy_api.modules['django.db.models'].names['Model']
def get_app_model(model_name: str) -> str:
import os
os.environ.setdefault('SITE_URL', 'https://localhost')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'server._config.settings.local')
import django
django.setup()
from django.apps import apps
try:
app_name, model_name = model_name.rsplit('.', maxsplit=1)
model = apps.get_model(app_name, model_name)
return model.__module__ + '.' + model_name
except ValueError:
return model_name