mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 05:54:25 +08:00
Make sure Django User inference works
This commit is contained in:
@@ -186,11 +186,12 @@ class ClassMixin(object):
|
||||
mro.append(cls_new)
|
||||
yield cls_new
|
||||
|
||||
def get_filters(self, origin_scope=None, is_instance=False):
|
||||
metaclasses = self.get_metaclasses()
|
||||
if metaclasses:
|
||||
for f in self.get_metaclass_filters(metaclasses):
|
||||
yield f
|
||||
def get_filters(self, origin_scope=None, is_instance=False, include_metaclasses=True):
|
||||
if include_metaclasses:
|
||||
metaclasses = self.get_metaclasses()
|
||||
if metaclasses:
|
||||
for f in self.get_metaclass_filters(metaclasses):
|
||||
yield f
|
||||
|
||||
for cls in self.py__mro__():
|
||||
if cls.is_compiled():
|
||||
|
||||
@@ -107,9 +107,10 @@ def _create_manager_for(cls, manager_cls='BaseManager'):
|
||||
|
||||
|
||||
def _new_dict_filter(cls):
|
||||
filter_ = ParserTreeFilter(parent_context=cls.as_context())
|
||||
filters = cls.get_filters(is_instance=True, include_metaclasses=False)
|
||||
dct = {
|
||||
name.string_name: DjangoModelName(cls, name)
|
||||
for filter_ in filters
|
||||
for name in filter_.values()
|
||||
}
|
||||
manager = _create_manager_for(cls)
|
||||
|
||||
@@ -5,10 +5,6 @@ from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
|
||||
#? str()
|
||||
User().email
|
||||
|
||||
|
||||
class Tag(models.Model):
|
||||
tag_name = models.CharField()
|
||||
|
||||
@@ -124,3 +120,12 @@ model_instance.objects.get().char_field
|
||||
model_instance.objects.update(x='')
|
||||
#? BusinessModel()
|
||||
model_instance.objects.create()
|
||||
|
||||
# -----------------
|
||||
# Django Auth
|
||||
# -----------------
|
||||
|
||||
#? str()
|
||||
User().email
|
||||
#? str()
|
||||
User.objects.get().email
|
||||
|
||||
Reference in New Issue
Block a user