[PYTHON] MVC - Édition de modèle pour apprendre de 0 avec un biais uniquement

Pour ceux d'entre vous qui sont épuisés par le cadre MVC, pourquoi ne vous en souvenez-vous pas avec votre propre jugement et vos préjugés? Bien sûr, ma pensée sera beaucoup déformée, mais je vous garantis que ce sera une expérience intéressante. Cette fois, j'utiliserai Django comme exemple.

Le cœur de MVC serait comme ça en un mot "HTML qui fonctionne dans une certaine mesure avec une logique divisée en diagrammes ER codés" Expliquons ce qui est génial avec ce type, en utilisant Model comme exemple. View et Controller sont certainement d'excellentes technologies, mais elles ne sont pas comparables à la puissance de Model.

Essayez de changer le schéma avec PHP complet

Vous apparteniez au domaine de l'écriture de code avec PHP full scratch Mon patron me demande de changer le schéma SQL Dans ce cas, vous devez procéder comme suit:

  1. Mettez à jour le diagramme ER dans Excel
  2. Mettez à jour la base de données avec des instructions SQL brutes
  3. Vérifiez DB
  4. Effectuez le test (peut être un test manuel selon le site)
  5. Il est minuit. Tu peux enfin rentrer à la maison

Pour ceux qui ne connaissent pas le diagramme ER, en gros, c'est un diagramme connexe du SGBDR. Faire cela dans Excel est juste une douleur. En plus, ça change Les instructions SQL brutes sont héritées, pas quelque chose que vous voulez toucher pour le moment Je ne veux pas pouvoir vérifier la base de données tester? Est-ce manuel de toute façon? Veuillez me pardonner déjà Au moment où je suis enfin rentré à la maison, il ne me restait plus que le temps de dormir Débarrassons-nous d'une journée si merdique

Démontrez la puissance de Model

Vous apparteniez au site traitant de Django Mon patron m'a demandé de changer le schéma SQL Dans ce cas, il vous suffit de faire ce qui suit

  1. Essayez de changer le schéma dans Django
  2. Réécrire la base de données (appelée "migrer. Générer automatiquement quelque chose comme une instruction SQL moderne et réécrire le schéma)"
  3. Faites le test
  4. Au revoir à midi

C'est un mensonge, mais malheureusement vrai pour l'écriture PHP intégrale Tout ce que vous avez à faire est de réécrire le code du diagramme ER appelé Modèle, de le migrer et de le tester. Beaucoup de gens peuvent avoir du mal à entendre "Migrer", mais il vous suffit d'ouvrir le terminal et de taper les deux lignes suivantes.

python manage.py makemigrations
python manage.py migrate

Cela seul a changé le schéma SQL. Après cela, vous pouvez vous en débarrasser du site simplement en testant

Essaye le

Faisons l'expérience de cette merveilleuse fonctionnalité

Votre patron vous a dit: «Créez un modèle pour une application TODO simple». Suite à l'organisation, j'ai réalisé qu'il suffisait d'avoir une table des utilisateurs et TODO, et une clé externe.

Arrêtons la torture d'écrire en PHP intégral. Sautez soudain dans Django.

Tout d'abord, vous avez décidé d'écrire un modèle En conséquence, j'ai écrit le code suivant

models.py


from django.db import models

class User(models.Model):
    name = models.CharField(max_length=20)
    password = models.CharField(max_length=20)

class Todo(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    text = models.CharField(max_length=140)

Code strictement erroné (Django est livré en standard avec le modèle de l'utilisateur, il suffit de le récupérer, et le mot de passe n'est pas crypté), mais c'est facile à expliquer et les yeux du patron sont avant tout. Il semble triché, donc ça ira Pour expliquer la signification du code, la première ligne tire la fonction models de Django et en hérite. CharField est juste un type de chaîne, ForeignKey est juste une clé externe Avec un si petit code, votre après 5 est garanti

Ensuite, mettons à jour la base de données Cela dit, c'est facile à faire. Comme je l'ai expliqué plus tôt

python manage.py makemigrations
python manage.py migrate

Vous réussirez à réécrire la BD avec cela seul Après cela, vous pouvez faire un test automatique ou un test manuel et le quitter du terrain Regardons l'animation pendant le temps libre. Je recommande prepara

Explication de la vue et du contrôleur

HTML et logique fonctionnels, c'est tout Ecrire si demandé

Recommended Posts

MVC - Édition de modèle pour apprendre de 0 avec un biais uniquement
Procédure d'apprentissage et de déduction d'un modèle de traduction anglais-japonais de transformateur avec CloudTPU
J'ai essayé d'implémenter SSD avec PyTorch maintenant (édition du modèle)
Programmation tirée des livres le 7 mai
Seq2Seq (2) ~ Attention Model edition ~ avec chainer
J'ai trouvé un moyen de créer un modèle 3D à partir d'une photo.
J'ai essayé d'apprendre l'angle du péché et du cos avec le chainer
Apprentissage amélioré pour apprendre de zéro à profond
python à retenir uniquement avec bonjour, mondes
Convertir de PDF en CSV avec pdfplumber
Branche conditionnelle pour apprendre de Milk Boy
Un mémorandum pour faire WebDAV uniquement avec nginx
Ouvrez AI Gym pour apprendre avec le poteau de chariot contrôlé par PD
J'ai essayé d'apprendre le fonctionnement logique avec TF Learn
Apprenez à reconnaître les nombres manuscrits (MNIST) avec Caffe
[Introduction à minimiser] Analyse des données avec le modèle SEIR ♬
AWS Step Functions pour apprendre avec un exemple
Sauvegarde de QNAP vers Linux avec rsync
De la construction d'environnement Python à la construction d'environnement virtuel avec anaconda
Comment entraîner Kaldi avec JUST Corpus
Osez apprendre avec Ruby "Deep Learning from scratch" Importation de fichiers pickle depuis PyCall interdit
J'ai trouvé un moyen de créer un modèle 3D à partir d'une photo.0 Projection vers l'espace 3D