[PYTHON] [Django] Was tun, wenn das zu erstellende Modell viele Felder enthält?

Ich möchte ein Objekt erstellen

models.py


from django.db import models

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

     def __str__(self):
         return self.name

Wenn Sie ein Objekt mit Django erstellen, schreiben Sie normalerweise wie folgt.

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

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

Es sollte kein Problem geben.

Was würden Sie in einem solchen Fall tun?

models.py


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

    def __str__(self):
        return self.field_23

Ein Fall, in dem Sie eine Datenbank aus einer CSV-Datei mit 50 Elementen über Djangos ORM eingeben möchten. Beim Versuch, das Ueno Human-Modell zu mögen

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]....)

Es ist nicht verrückt, 50 Stücke zu schreiben.

Übergeben Sie es als Argument, während Sie es in ein Wörterbuch erweitern!

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

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

Clever!

In Python können Sie eine Liste, ein Taple oder ein Wörterbuch als Argument für eine Funktion übergeben, während Sie sie erweitern.

Referenz

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

Recommended Posts

[Django] Was tun, wenn das zu erstellende Modell viele Felder enthält?
Notieren Sie sich, was Sie in Zukunft mit Razpai machen möchten
Was tun, wenn Sie mit venv keine virtuelle Umgebung erstellen können, obwohl Sie der offiziellen Website von Django folgen?
Wenn Sie Word Cloud erstellen möchten.
Wenn Sie den Wert mithilfe von Auswahlmöglichkeiten in der Vorlage im Django-Modell anzeigen möchten
Was tun, wenn bei der Pip-Installation ein Unicode-Dekodierungsfehler auftritt?
Was tun, wenn Sie den Papierkorb in Lubuntu 18.04 nicht verwenden können?
Was tun, wenn Sie eine Binärdatei katzen oder verfolgen und das Terminal verstümmelt ist?
[Django] Erklären Sie den Fluchtweg sorgfältig, wenn Sie die Tabelle einer anderen Anwendung wirklich verwenden möchten
Lassen Sie uns zusammenfassen, was Sie tun möchten.
Was tun, wenn Sie "locale.Error: nicht unterstützte Gebietsschemaeinstellung" erhalten, wenn Sie den Tag vom Datum in Python abrufen?
Wenn ich mit matplotlib eine große Anzahl von Diagrammen generiere, möchte ich das Diagramm nicht auf dem Bildschirm anzeigen (Jupyter-Umgebung).
Wenn Sie einen Singleton in Python möchten, stellen Sie sich das Modul als Singleton vor
[Python] Wenn Sie ein Streudiagramm mehrerer Cluster zeichnen möchten
Was tun, wenn TypeError in min und max von numpy auftritt?
Wenn Sie den Ausführungsbenutzer mitten in einer Fabric-Aufgabe wechseln möchten, stellen Sie den Kontextmanager ein
Ich möchte komplizierte vier Regeln in der IF-Anweisung der Django-Vorlage verwenden! → Verwenden Sie eine benutzerdefinierte Vorlage
Ich möchte das Problem des Speicherverlusts bei der Ausgabe einer großen Anzahl von Bildern mit Matplotlib lösen
Ich möchte einfach ein Rauschmodell erstellen
Laden Sie eine große Anzahl von Bildern in Wordpress hoch
Was tun, wenn die Pipenv-Shell nicht mehr möglich ist?
Ich möchte den Transferstatus der 2020 J League visualisieren. Was soll ich tun?
Was tun, wenn auf pipenv der Fehler "Keine Versionen gefunden" angezeigt wird?
Einzeiler, der unter Linux eine große Anzahl von Testdateien gleichzeitig erstellt
So zählen Sie die Anzahl der Elemente in Django und geben sie in die Vorlage aus
Überprüfen Sie mit einem Test, wie oft die Abfrage (SQL) in Django ausgelöst wurde
Lösung, wenn Django keine Bilder aus einem statischen Ordner laden kann
Was Sie sich mit der grundlegenden Grammatik "String Manipulation" von Python merken möchten
Was tun, wenn im Selenium Chrome-Treiber ein Versionsfehler auftritt?
Was tun, wenn (Basis) am Anfang des Mac-Terminals angezeigt wird?
Was tun, wenn Sie Dateien remote von einem Windows-Client empfangen möchten?
Ich habe versucht, ein Modell mit dem Beispiel von Amazon SageMaker Autopilot zu erstellen
Ich möchte eine API erstellen, die ein Modell mit einer rekursiven Beziehung im Django REST Framework zurückgibt
Was tun, wenn Sie mysqlclient nicht per Pip installieren können?
Kein Modul mit dem Namen Was tun, wenn Sie "libs.resources" erhalten?
Was tun, wenn der Microsoft Store geöffnet wird, auch wenn Sie Python unter Windows ausführen?
ModuleNotFoundError: Kein Modul Was tun, wenn Sie'tensorflow.contrib 'erhalten?
Was tun, wenn beim Konvertieren von PySparkDataFrame in PandasDataFrame ein Speicherfehler auftritt?
Was tun, wenn pvcreate viel WARNUNG erzeugt und nicht erstellt werden kann?
Was tun, wenn in pycurl (einer von ihnen) "(35, 'SSL-Verbindungsfehler')" angezeigt wird?
Links, um mit Sublime Text zu tun, was Sie wollen
Was tun, wenn der Fortschrittsbalken in tqdm von Python nicht angezeigt wird?
Was tun, wenn in pip ein Unicode-Dekodierungsfehler auftritt?
Ich möchte zum ersten Mal eine Django-Studie zur Mittagsdatenbank [EP1] erstellen
Ich möchte zum ersten Mal eine Django-Studie zum Mittagessen [EP1-4] erstellen
Was tun, wenn Sie bei Verwendung von ortoolpy.logistics_network keine japanischen Spaltennamen verwenden möchten?
Was ist die letzte Programmiersprache, die Sie in Ihrem Leben lernen? (Wenn Sie einen Club mit einem lebenslangen Gehalt von 300 Millionen Yen einholen möchten)
Was tun, wenn bei Verwendung von ts-node-dev unter Linux der Fehler "ERR_FEATURE_UNAVAILABLE_ON_PLATFORM" angezeigt wird?
Was tun, wenn Sie den Fehler in der IP-Adresse der Zonendatei behoben haben, aber keine Verbindung zum DNS-Server herstellen können?
[* Es wird CentOS 6.10 sein] Was tun, wenn Sie das IUS Community Project-Repository in CentOS 6.5 (VirtualBox) nicht hinzufügen können?
So erstellen Sie einen Datensatz, indem Sie eine Beziehung zum geerbten Modell in das von Django geerbte Modell einfügen
Was tun, wenn bei yum ein Metalink für Repository-Fehler nicht abgerufen werden kann?
Was tun, wenn ein undefinierter Fehler angezeigt wird: Das Objekt 'Module_six_moves_urllib_parse' hat unter MacOS kein Attribut 'urlencode'
[Python] Wenn Sie plötzlich ein Anfrageformular erstellen möchten
Was tun, wenn die Paketabhängigkeit nicht repariert werden kann?
Was tun, wenn Sie von Windows-Zeichencodes abhängig sind?
Was tun, wenn pip in Homebrew einen DistributionError ausgibt?
Die Geschichte des Django-Modellfeldes verschwindet aus der Klasse
Ich habe eine Funktion erstellt, um das Modell von DCGAN zu überprüfen