将产生的csv文件分配给Django mod

2024-06-16 10:47:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个包含不同歌曲的网站。这些歌曲包含不同的属性,其中一个是通过django的fileField字段上传的midi文件。当我使用表单添加具有这些属性的歌曲时,我调用一个脚本来生成一个包含midi属性信息的csv文件。在

问题是,我想将这个生成的csv文件直接分配给另一个Filefield,也就是说,当我创建表单时,这个csv被分配给一个Filefield,就在提交表单之后。在

我想知道是否有人能帮我这个忙。如果你需要任何代码或其他东西,请告诉我。在

这是我的密码表单.py. 在这个表格中,我添加了一首新的歌曲,其属性如下。在

class FormCancion(forms.ModelForm):
class Meta:
    model = Cancion
    fields= ['titulo','creacion','midi','dificultad','nota_pad_verde','nota_pad_gris','nota_pad_azul','nota_pad_amarillo','nota_pad_rojo']

在视图.py代码。此视图用于调用将添加新歌的窗体。在

^{2}$

我的模型.py代码。我需要添加的唯一模型字段是csv文件。我想在提交表格后自动添加。在

class Cancion(models.Model):

    titulo=models.CharField(max_length=60)
    creacion=models.DateField(default=timezone.now)

    avanzado="Avanzado"
    intermedio="Intermedio"
    principiante="Principiante"
    dificultades=((avanzado, 'Avanzado'), (intermedio, 'Intermedio'), (principiante, 'Principiante'))
    dificultad=models.CharField(max_length=15, choices=dificultades)

    @property
    def filename(self):
        return self.midi.path
    midi = models.FileField()

    @property
    def filename(self):
        return self.csv.path
    csv = models.FileField()

Tags: 文件csv代码pyself表单属性models
1条回答
网友
1楼 · 发布于 2024-06-16 10:47:45

假设您有这样的模型,

class SampleModel(models.Model):

    doc = models.FileField(upload_to='media/', null=True, blank=True)


然后像这样把文件添加到模型中

^{pr2}$


更新

from django.core.files import File

myfile = open("sample.csv", 'r')
sample = Cancion.objects.create(csv=File(myfile))

相关问题 更多 >