小编ald*_*ano的帖子

在Django Admin中将csv数据导入数据库

我试图通过调整管理员内部的模型形式将csv文件导入数据库:

models.py:

class Data(models.Model):
    place = models.ForeignKey(Places)
    time = models.DateTimeField()
    data_1 = models.DecimalField(max_digits=3, decimal_places=1)
    data_2 = models.DecimalField(max_digits=3, decimal_places=1)
    data_3 = models.DecimalField(max_digits=4, decimal_places=1)
Run Code Online (Sandbox Code Playgroud)

Forms.py:

import csv
class DataImport(ModelForm):
    file_to_import = forms.FileField()

    class Meta:
        model = Data
        fields = ("file_to_import", "place")

    def save(self, commit=False, *args, **kwargs):
        form_input = DataImport()
        self.place = self.cleaned_data['place']
        file_csv = request.FILES['file_to_import']
        datafile = open(file_csv, 'rb')
        records = csv.reader(datafile)
        for line in records:
            self.time = line[1]
            self.data_1 = line[2]
            self.data_2 = line[3]
            self.data_3 = line[4]
            form_input.save()
        datafile.close()
Run Code Online (Sandbox Code Playgroud)

Admin.py:

class …
Run Code Online (Sandbox Code Playgroud)

csv django django-models django-admin

26
推荐指数
1
解决办法
2万
查看次数

标签 统计

csv ×1

django ×1

django-admin ×1

django-models ×1