2010-09-08 5 views
0

Il y a quelque chose que je ne comprends pas dans le système de template Django. J'ai un FileField dans mon modèle appelé myfile. Si je passe une instance de mon modèle à un modèle, je peux accéder à file.size (ceci est un exemple). D'où vient la variable file.size? Il ne fait pas partie de la classe FileField autant que je sache. Un petit test:Contexte passé au modèle dans Django

def save(self): 
    super(UploadItem, self).save() 
    import logging; logging.debug(file.size) 

Cet extrait génère cette erreur: type object 'file' has no attribute 'size'

Est-ce Django font par la magie d'une sorte?

+0

S'il vous plaît inclure suffisamment de votre définition du modèle que nous pouvons voir la ligne de classe, la ligne qui définit le champ de fichier et la méthode d'enregistrement en un seul endroit bien rangé. Le code que vous avez montré ici ne peut pas fonctionner car il n'y a pas de 'self.file.size'. Mais il est impossible de connaître le nom de champ de votre FileField sans code plus complet. –

Répondre

Questions connexes