2017-05-09 59 views

Odpowiedz

18

Musisz włączyć obsługę Django.

idź do pycharm -> Preferencje -> Języki & Konstrukcje -> Django a następnie sprawdzić Enable Django Support

+6

Django jest tylko aktualnie obsługiwany w płatnej wersji pycharm –

+2

@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. –

+2

@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? –

0

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 
0

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() 
+0

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

+0

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