<p>这在很大程度上取决于您的模型,以及在保存之前如何处理csv。在</p>
<p>例如,我将使用此模型:</p>
<pre class="lang-py prettyprint-override"><code># students/models.py
from django.db import models
class Student(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
grade = models.IntegerField()
def __str__(self):
return f"{self.first_name} {self.last_name} (grade={self.grade})"
</code></pre>
<p>要导入csv,我们可以使用<a href="https://docs.python.org/3/library/csv.html" rel="nofollow noreferrer">^{<cd1>} module from the stdlib</a>。在</p>
^{pr2}$
<p>现在,我们可以通过导入正确格式的csv进行测试:</p>
<pre class="lang-py prettyprint-override"><code># There are no products in the database to start
>>> Student.objects.count()
0
# Here's a csv with some example data:
>>> print(open("students.csv").read())
first_name,last_name,grade
John,Doe,5
Jane,Doe,8
>>> from students.data_import import load_csv_file
>>> load_csv_file("students.csv")
>>> Student.objects.count()
2
>>> Student.objects.values()
[
{"first_name": "John", "last_name": "Doe", "grade": 5},
{"first_name": "Jane", "last_name": "Doe", "grade": 8}
]
</code></pre>