Skip to content

When overriding save of a model, how to access filefield? #53

@FireRedDev

Description

@FireRedDev

Hey, i am trying to do the following:

class Upload(models.Model):
    upload_file = models.FileField(upload_to='media', blank=True, null=True)
    dataframe_from_transformed_uploadfile = PickledObjectField(blank=True, null=True, editable = False)
    pivoted_dataframe_from_transformed_uploadfile = PickledObjectField(blank=True, null=True, editable = False)
    pivotedlist_dataframe_from_transformed_uploadfile = PickledObjectField(blank=True, null=True, editable = False)
    upload_date = models.DateTimeField(auto_now_add =True)
    order_description = models.TextField(default="")

    def save(self, *args, **kwargs):
        generatereport(self)
        super(Upload, self).save(*args, **kwargs) # Call the "real" save() method.

    
def generatereport(self):
    df = pd.read_excel(os.path.join('media',self.upload_file.name))

However at the read excel part i get:

FileNotFoundError at /report/
[Errno 2] No such file or directory: 'media\\bgbrgbruckleitha_orderlist.xlsx'

If i try it with .path instead of .name i get NotImplementedError at /report/ , probably because its not supported?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions