我正在创建一个 Django 文件浏览器应用程序,它在其中抓取文件并使元数据可用于查看和搜索。
在最初将文件作为“文件”对象输入后,我想根据文件的扩展名创建“视频”、“音乐”或“文档”。
一些模拟模型...
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)
- 将使用“avi,mpg,mp4,mkv”创建视频文件类型,使用“mp3,flac”创建音乐等等。
- Django 应用程序将在 Video1.avi、Video2.mpg、Song1.mp3、Song2.flac 等上运行。它们将作为文件对象输入到数据库中。
- 在保存 File 对象时,应用程序将查看文件扩展名,将其与列表进行比较并选择由 FileType 模型布局的适当模型。
我希望将模型选择参数保留为数据库条目,这样我就可以添加或删除而无需更改应用程序。
我不确定如何引用我想要 FileType 条目的模型。
任何建议或意见将不胜感激。