Używam pycharm społeczności, a wersja pythona to 3.6.1, django to 1.11.1. To ostrzeżenie nie ma wpływu na działanie, ale nie mogę używać automatycznego uzupełniania IDE.Nierozwiązane odwołanie do atrybutu "obiekty" dla klasy "" w PyCharm
Odpowiedz
Musisz włączyć obsługę Django.
idź do pycharm -> Preferencje -> Języki & Konstrukcje -> Django a następnie sprawdzić Enable Django Support
Innym rozwiązaniem znalazłem jest oddanie @ python_2_unicode_compatible dekoratora na każdym modelu. Wymaga ona również mieć str realizacji czterech czynność
Na przykład:
# models.py
from django.utils.encoding import python_2_unicode_compatible
@python_2_unicode_compatible
class SomeModel(models.Model):
name = Models.CharField(max_length=255)
def __str__(self):
return self.name
Można również wystawiać domyślnego menedżera modelu in extenso:
from django.models import models
class Foo(models.Model):
name = models.CharField(max_length=50, primary_key=True)
objects = models.Manager()
Robię to, ponieważ mam niestandardowy 'models.Manager()' i ma dodatkową zaletę nie łamania PyCharm CE. Czy wystawienie domyślnego menedżera modelu jest niepoprawne? – Vishal
Możesz dodać wielu menedżerów do swojego modelu. Kiedy uzyskujesz dostęp do Foo.objects, uzyskujesz dostęp do standardowego menedżera, więc wystawienie go nie jest nieprawidłowe. Niezależnie od tego, czy jest to nie-pyton, nie jestem pewien. – Campi
Django jest tylko aktualnie obsługiwany w płatnej wersji pycharm –
@EricBlum yep, wiem, ale PyCharm jest niesamowity. Jest też sposób na wyłączenie takich kontroli. Istnieje również sposób korzystania z różnych IDE, takich jak Atom, Visual Code i inne. –
@vishes_shell, jeśli po prostu wyłączę tę inspekcję, automatyczne uzupełnianie również zostanie wyłączone. czy istnieją inne sposoby rozwiązania tego problemu? –