[PYTHON] Trébucher lors du didacticiel django 1.7

django1.7 Résumé des points sur lesquels je suis resté coincé en faisant le tutoriel https://docs.djangoproject.com/en/1.7/intro/tutorial01/

Différences dans les paramètres de modèle entre django 1.4 et 1.7 [non résolues]

Notez que les commandes jusqu'à la migration sont différentes. Voici la méthode en 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',
)

Ajouter une application de sondage à django

Exécutez la commande suivante

・ Création du fichier de migration

$ python manage.py makemigrations polls

Lorsqu'il est exécuté normalement, ce sera comme suit

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

Un fichier appelé 0001_initial.py est créé Les modèles de questions et de choix y sont définis Ceci est le fichier de migration.

-Création de SQL pour la migration

$ python manage.py sqlmigrate polls 0001

Si cela réussit, vous verrez ce qui suit

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;

・ Exécution de la migration

$ python manage.py migrate

L'écriture des paramètres Unicode dans model.py ne fonctionne pas [résolu]

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

De cette façon, le shell interactif devrait ressembler à ceci

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

Ce sera comme suit

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

Remarque: Les données exécutées par le shell interactif sont enregistrées dans la base de données telles quelles.

**[Solution] Après la mise à jour de model.py, cela sera reflété si vous quittez le shell interactif une fois et redémarrez le shell interactif. ** **

>>> Que fait p.was_published_recently ()? [non résolu]

Recommended Posts

Trébucher lors du didacticiel django 1.7
Déployer le didacticiel Django sur IIS ①
Un mémo que j'ai essayé le tutoriel Pyramid
Tutoriel Python Django (5)
Tutoriel Python Django (2)
mémo du didacticiel django
Tutoriel Python Django (8)
Tutoriel Python Django (6)
Démarrer le didacticiel Django 1
Tutoriel Python Django (7)
Tutoriel Python Django (1)
Tutoriel du didacticiel Python Django
Tutoriel Python Django (3)
Tutoriel Python Django (4)
django geodjango auquel j'ai fait référence quand je suis resté coincé dans le tutoriel (édition)
Résumé du didacticiel Python Django
Didacticiel sur les associations polymorphes Django
[Django] Renommer le projet
Note du didacticiel Django Girls
Jusqu'au début du tutoriel django avec pycharm sous Windows
Lancez-vous avec Django! ~ Tutoriel ④ ~
Paramètres de DEBUG lors de l'utilisation de Django
Lancez-vous avec Django! ~ Tutoriel ⑥ ~
Fiche technique du didacticiel Python Django