[PYTHON] [Django] Que faire quand il y a de nombreux champs dans le modèle que vous souhaitez créer

Je veux créer un objet

models.py


from django.db import models

class Human(models.Model):
     name = models.CharField('Nom', max_length=200)
     age = models.IntegerField('âge', null=True, blank=True)

     def __str__(self):
         return self.name

Normalement, lors de la création d'un objet avec Django, écrivez comme suit.

taro = Human.objects.create(name='Taro', age=30)
taro.save()

hanako = Human(name='Hanako', age=2)
hanako.save()

Il ne devrait y avoir aucun problème.

Que feriez-vous dans un tel cas?

models.py


class TestModel(models.Model):
    field_1 = models.CharField('Champ 1', max_length=255)
    field_2 = models.CharField('Champ 2', max_length=255)
    ...
    field_50 = models.IntegerField('Champ 50', null=True)

    def __str__(self):
        return self.field_23

Un cas où vous souhaitez entrer une base de données à partir d'un fichier CSV avec 50 éléments via l'ORM de Django. En essayant de faire comme le modèle Ueno Human

df = pd.read_csv('test_data.csv')

for _, row in df.iterrows():
    t = TestModel.objects.create(field_1=row[0], field_2=row[1], field_3=row[2]....)

Ce n'est pas fou d'écrire 50 pièces.

Passez-le comme argument en le développant dans un dictionnaire!

df = pd.read_csv('test_data.csv')

for _, row in df.iterrows():
    dict_data = row.to_dict()
    t = TestModel.object.create(**dict_data)

intelligent!

En Python, vous pouvez passer une liste, une taple ou un dictionnaire comme argument d'une fonction tout en la développant.

référence

https://note.nkmk.me/python-argument-expand/

Recommended Posts

[Django] Que faire quand il y a de nombreux champs dans le modèle que vous souhaitez créer
Notez ce que vous voulez faire à l'avenir avec Razpai
Que faire si vous ne pouvez pas créer un environnement virtuel à l'aide de venv alors que vous suivez le site officiel de Django
Si vous souhaitez créer Word Cloud.
Si vous souhaitez afficher la valeur à l'aide des choix du modèle dans le modèle Django
Que faire si vous obtenez une erreur de décodage Unicode avec l'installation de pip
Que faire si vous ne pouvez pas utiliser la poubelle dans Lubuntu 18.04.
Que faire si vous chattez ou suivez un fichier binaire et que le terminal est brouillé
[Django] Expliquez soigneusement la voie d'échappement si vous voulez vraiment utiliser la table d'une autre application
Résumons ce que vous voulez faire.
Que faire si vous obtenez `locale.Error: unsupported locale setting` lors de l'obtention de la date du jour en Python
Lors de la génération d'un grand nombre de graphiques avec matplotlib, je ne souhaite pas afficher le graphique à l'écran (environnement jupyter)
Si vous voulez un singleton en python, considérez le module comme un singleton
[Python] Si vous souhaitez dessiner un diagramme de dispersion de plusieurs clusters
Que faire lorsque TypeError se produit au minimum et au maximum de numpy
Si vous souhaitez changer d'utilisateur d'exécution au milieu d'une tâche Fabric, le gestionnaire de contexte des paramètres
Je veux utiliser quatre règles compliquées dans l'instruction IF du modèle Django! → Utilisez un modèle personnalisé
Je souhaite résoudre le problème de fuite de mémoire lors de la sortie d'un grand nombre d'images avec Matplotlib
Je souhaite créer facilement un modèle de bruit
Téléchargez un grand nombre d'images sur Wordpress
Que faire lorsque le shell pipenv devient impossible
Je souhaite visualiser l'état des transferts de la J League 2020, que dois-je faire?
Que faire si vous obtenez une erreur "Aucune version trouvée" sur pipenv
One-liner qui crée un grand nombre de fichiers de test à la fois sous Linux
Comment compter le nombre d'éléments dans Django et sortir dans le modèle
Vérifiez le nombre de fois où la requête (sql) a été lancée dans django avec un test
Solution lorsque Django ne peut pas charger d'images à partir d'un dossier statique
Ce que vous voulez mémoriser avec la grammaire de base de "manipulation de chaînes" de python
Que faire si une erreur de version se produit dans le pilote Selenium Chrome
Que faire si (base) est affiché au début du terminal Mac
Que faire lorsque vous souhaitez recevoir des fichiers à distance depuis un client Windows
J'ai essayé de créer un modèle avec l'exemple d'Amazon SageMaker Autopilot
Je souhaite créer une API qui retourne un modèle avec une relation récursive dans Django REST Framework
Que faire si vous ne pouvez pas installer mysqlclient
Aucun module nommé Que faire si vous obtenez "libs.resources"
Que faire si le Microsoft Store s'ouvre même si vous exécutez python sous Windows
ModuleNotFoundError: No module Que faire si vous obtenez 'sensorflow.contrib'
Que faire si vous obtenez une erreur de mémoire lors de la conversion de PySparkDataFrame en PandasDataFrame
Que faire si pvcreate produit beaucoup d'AVERTISSEMENT et ne peut pas être créé
Que faire si vous obtenez "(35, 'Erreur de connexion SSL')" dans pycurl (l'un d'entre eux)
Liens pour faire ce que vous voulez avec Sublime Text
Que faire si la barre de progression n'est pas affichée dans tqdm de python
Que faire si une erreur de décodage Unicode se produit dans pip
Je souhaite créer une base de données de déjeuners [EP1] Django pour la première fois
Je souhaite créer une base de données de déjeuner [EP1-4] Django pour la première fois
Que faire si vous ne souhaitez pas utiliser de noms de colonnes japonais lors de l'utilisation d'ortoolpy.logistics_network
Quel est le dernier langage de programmation que vous apprenez dans votre vie? (Si vous voulez rattraper un club avec un salaire à vie de 300 millions de yens)
Que faire si vous obtenez l'erreur ʻERR_FEATURE_UNAVAILABLE_ON_PLATFORM` lors de l'utilisation de ts-node-dev sous Linux
Que faire si vous avez corrigé l'erreur dans l'adresse IP du fichier de zone mais ne pouvez pas vous connecter au serveur DNS
[* CentOS 6.10] Que faire si vous ne pouvez pas ajouter le référentiel IUS Community Project dans CentOS 6.5 (VirtualBox)
Comment créer un enregistrement en collant une relation au modèle source d'héritage dans le modèle hérité par Django
Que faire si vous obtenez une erreur Impossible de récupérer le lien métallique pour le référentiel avec yum
Que faire si vous obtenez une erreur non définie: l'objet 'Module_six_moves_urllib_parse' n'a pas d'attribut 'urlencode' sur MacOS
[Python] Si vous souhaitez soudainement créer un formulaire de demande
Que faire si la dépendance du package ne peut pas être réparée
Que faire si vous êtes accro aux codes de caractères Windows
Que faire si pip donne une DistributionError dans Homebrew
L'histoire du champ de modèle Django disparaissant de la classe
J'ai fait une fonction pour vérifier le modèle de DCGAN