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.
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.
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.
https://note.nkmk.me/python-argument-expand/