파일을 크롤링하고 볼 수 있고 검색 할 수 있도록 장고 파일 브라우저 앱을 만듭니다.Django : 다른 모델 값으로 입력 된 매개 변수를 기반으로 모델을 자동으로 선택합니다.
처음 파일을 "파일"개체로 입력 한 후 파일 확장명을 기준으로 "비디오", "음악"또는 "문서"를 만들고 싶습니다.
일부 모의 모델 ... 비디오의 파일 타입은 그래서 "MP3, FLAC"와와 "AVI, MPG, MP4, MKV,"음악으로 생성 될 수
class File(models.Model):
createdate = models.DateTimeField('date file entered', db_index=True, auto_now_add=True)
cdate = models.DateTimeField()
hash = models.CharField(max_length=14, default=_make_hash, unique=True)
slug = models.SlugField(blank=True, unique=True)
filename = models.CharField(db_index=True, max_length=2048)
fullpath = models.CharField(max_length=2048)
folder = models.CharField(max_length=2048)
class Video(models.Model):
createdate = models.DateTimeField('date file entered', db_index=True, auto_now_add=True)
imdblink = models.CharField(max_length=2048)
container = models.CharField(max_length=2048)
class Music(models.Model):
createdate = models.DateTimeField('date file entered', db_index=True, auto_now_add=True)
bitrate = models.CharField(max_length=2048)
artistname = models.CharField(max_length=2048)
songname = models.CharField(max_length=2048)
class FileType(models.Model):
typename = models.CharField(max_length=256)
extension = models.ForeignKey(FileExtension)
class FileExtension(models.Model):
extension = models.CharField(max_length=256)
- .
- Django 앱은 Video1.avi, Video2.mpg, Song1.mp3, Song2.flac 등을 통해 실행됩니다. 데이터베이스에 File 객체로 입력됩니다.
- File 개체를 저장하면 응용 프로그램에서 파일 확장명을보고 목록과 비교하고 FileType 모델에 의해 배치 된 적절한 모델을 선택합니다.
모델 선택 매개 변수를 데이터베이스 항목으로 유지하여 앱을 변경하지 않고 추가하거나 제거 할 수 있기를 바랍니다.
FileType 항목을 원하는 모델을 참조하는 방법이 확실하지 않습니다.
조언이나 의견을 보내 주시면 감사하겠습니다.