How to amend Models.py to Changes url representation

Viewed 8

I am implementing a project on django rest framework (filemanager). I need the url field for the "FILE" data type to be in this form as "url": "/file/url1". For the "FOLDER" class, the "url" field should output "url": None. What do I need to write for this in model.py .

Current model.py code looks like:

FILE='FILE'
FOLDER='FILE'
TYPE_CHOICES = [(FILE,"FILE"),(FILE,"FOLDER")]


class Folder(models.Model):
    id = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4, null=False)
    parentId = models.ForeignKey('self', on_delete=models.CASCADE, null=True, blank=True)
    type = models.CharField(max_length=255, choices=TYPE_CHOICES, editable=False, default='FOLDER')
    size = models.IntegerField(blank=True, null=True, default = 0)
    date = models.DateTimeField(auto_now=True)
    url = None
    # children = models.ForeignKey('self', models.SET_NULL, null=True)


class File(models.Model):
    type = models.CharField(max_length=255, choices=TYPE_CHOICES, editable=False, default='FILE')
    id = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4, null=False)
    file = models.FileField(null=True, max_length=255)
    date = models.DateTimeField(auto_now =True)
    parentId = models.ForeignKey(Folder, on_delete=models.CASCADE, null=True, blank=True, related_name='children')
    # url = models.URLField(max_length=200, default=None, null=True, blank=True)
    size = models.IntegerField(null=True, blank=True, default=0)
    

    def __str__(self):
        return str(self.file.name)
0 Answers
Related