[PYTHON] Stolpern Sie beim Django 1.7-Tutorial

django1.7 Zusammenfassung der Punkte, bei denen ich beim Tutorial hängen geblieben bin https://docs.djangoproject.com/en/1.7/intro/tutorial01/

Unterschiede in den Modelleinstellungen zwischen Django 1.4 und 1.7 [ungelöst]

Beachten Sie, dass die Befehle bis zur Migration unterschiedlich sind. Das Folgende ist die Methode in 1.7.

mysite/setting.py

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'polls',
)

Hinzufügen einer Umfrageanwendung zu Django

Führen Sie den folgenden Befehl aus

・ Erstellung einer Migrationsdatei

$ python manage.py makemigrations polls

Bei normaler Ausführung ist dies wie folgt

Migrations for 'polls':
  0001_initial.py:
    - Create model Question
    - Create model Choice
    - Add field question to choice

Eine Datei mit dem Namen 0001_initial.py wird erstellt Darin sind Frage- und Auswahlmodelle definiert Dies ist die Migrationsdatei.

-Erstellen von SQL für die Migration

$ python manage.py sqlmigrate polls 0001

Wenn dies erfolgreich ist, sehen Sie Folgendes

BEGIN;
CREATE TABLE polls_question (
    "id" serial NOT NULL PRIMARY KEY,
    "question_text" varchar(200) NOT NULL,
    "pub_date" timestamp with time zone NOT NULL
);

CREATE TABLE polls_choice (
    "id" serial NOT NULL PRIMARY KEY,
    "question_id" integer NOT NULL,
    "choice_text" varchar(200) NOT NULL,
    "votes" integer NOT NULL
);

CREATE INDEX polls_choice_7aa0f6ee ON "polls_choice" ("question_id");

ALTER TABLE "polls_choice"
  ADD CONSTRAINT polls_choice_question_id_246c99a640fbbd72_fk_polls_question_id
    FOREIGN KEY ("question_id")
    REFERENCES "polls_question" ("id")
    DEFERRABLE INITIALLY DEFERRED;
COMMIT;

・ Durchführung der Migration

$ python manage.py migrate

Das Schreiben von Unicode-Einstellungen in model.py funktioniert nicht [gelöst]

polls/model.py

from django.db import models

class Question(models.Model):
    # ...
    def __str__(self):              # __unicode__ on Python 2
        return self.question_text

class Choice(models.Model):
    # ...
    def __str__(self):              # __unicode__ on Python 2
        return self.choice_text

Auf diese Weise sollte die interaktive Shell so aussehen

>>> Question.objects.all()
[<Question: What's up?>]

Es wird wie folgt sein

>>> Question.objects.all()
[<Question: Question object>]

Hinweis: Die von der interaktiven Shell ausgeführten Daten werden unverändert in der Datenbank gespeichert.

** [Lösungen] Nach dem Aktualisieren von model.py wird angezeigt, ob Sie die interaktive Shell einmal beenden und die interaktive Shell erneut starten. ** ** **

>>> Was macht p.was_published_recently ()? [ungelöst]

Recommended Posts

Stolpern Sie beim Django 1.7-Tutorial
Stellen Sie das Django-Lernprogramm für IIS bereit ①
Ein Memo, dass ich das Pyramid Tutorial ausprobiert habe
Python Django Tutorial (5)
Python Django Tutorial (2)
Django Tutorial Memo
Python Django Tutorial (8)
Python Django Tutorial (6)
Starten Sie das Django Tutorial 1
Python Django Tutorial (7)
Python Django Tutorial (1)
Python Django Tutorial Tutorial
Python Django Tutorial (3)
Python Django Tutorial (4)
django geodjango Ich habe mich darauf bezogen, als ich im Tutorial feststeckte (Bearbeitung)
Zusammenfassung des Python Django-Tutorials
Django Polymorphic Associations Tutorial
[Django] Benennen Sie das Projekt um
Django Girls Tutorial Hinweis
Bis zum Start des Django-Tutorials mit Pycharm unter Windows
Fangen Sie mit Django an! ~ Tutorial ④ ~
DEBUG-Einstellungen bei Verwendung von Django
Fangen Sie mit Django an! ~ Tutorial ⑥ ~
Python Django Tutorial Cheet Sheet