o
    i	                     @   sh   d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ G dd	 d	eZdS )
    N)defaultdict)apps)settings)BaseCommandCommandError)models)signalcommandc                   @   s   e Zd ZdZedd ZdS )CommandzQPrints a list of all files in MEDIA_ROOT that are not referenced in the database.c              
   O   s  t tds	tdt }ttjD ]\}}}|D ]}|tj	tj
|| qqtt}t D ]}	|	jjD ]}
t|
jtjrI||	 |
 q9q3t }|D ]'}	|	j  }|D ]}||	 D ]}
t ||
j}|ru|tj	|j qaq[qP|| }|D ]}t| q~d S )N
MEDIA_ROOTz$MEDIA_ROOT is not set, nothing to do)getattrr   r   setoswalkr
   addpathabspathjoinr   listr   
get_models_metafields
issubclass	__class__r   	FileFieldappendobjectsalliteratornameprint)selfargsoptionsmediarootdirsfilesf
model_dictmodelfield
referencedr   objecttarget_filenot_referenced r/   x/var/www/html/formularioweb/env/lib/python3.10/site-packages/django_extensions/management/commands/unreferenced_files.pyhandle   s:   

zCommand.handleN)__name__
__module____qualname__helpr   r1   r/   r/   r/   r0   r	      s    r	   )r   collectionsr   django.appsr   django.confr   django.core.management.baser   r   	django.dbr   "django_extensions.management.utilsr   r	   r/   r/   r/   r0   <module>   s   