2017-12-22 2 views
-1

Ich bin neu in Python und Django. Ich habe Fehler (IndentationError: unindent keine äußeren Einzugsebene überein) Linie 36 model.pyIndentationError: Eingeklickt passt keiner äußeren Einrückung zu model.py Zeile 36

unten ist mein Code enter image description here

class Load_ProviderRegistration(models.Model): 
    def number(): // i got error in this line 
     no = Load_ProviderRegistration.objects.count() 
     if no == None: 
      return 1 
     else: 
      return no + 1 
    Load_Provider_id = models.IntegerField(unique=True,default=number) 
    Load_Provider_name = models.CharField(max_length=50) 
    address = models.CharField(max_length=100) 
    contact = models.CharField(max_length=13) 
+1

FYI, Kommentare in Python '#' – DavidG

+0

Auch Sie 'Nummer()' sollte 'Nummer (Selbst-)', wenn innerhalb einer Klasse .. – Goralight

+2

Warum würden Sie Ihren Code in den Kommentaren denken einfügen würde Hilfe? – Goralight

Antwort

0

Es gibt ein paar Dinge sind hier zu beachten:

  1. Das Mischen von Tabulatoren und Leerzeichen ist in Python nicht erlaubt. Die Verwendung von 4 Leerzeichen als Einrückungsebene wird von PEP8 empfohlen oder lesen Sie diese related SO question.

  2. Übergabe der self als Methoden erstes Argument, wenn die Methode nicht static ist.

    def number(self): ...

Extra:

  1. Kommentare von einem Hashtag gekennzeichnet sind (#).
  2. x == None Vergleich kann als if x is None geschrieben werden.
    In Ihrem Fall if no == None wäre if no is None.
Verwandte Themen