【发布时间】:2014-10-01 11:10:21
【问题描述】:
我在 Django 中有一个模型
class File(models.Model):
NORMAL = 'normal'
AD = 'ad'
FILE_TYPE_CHOICES = (
(NORMAL, 'Normal'),
(AD, 'Ad'),
)
file_name = models.CharField(max_length=50)
file_type = models.CharField(max_length=10, default=NORMAL,
choices=FILE_TYPE_CHOICES)
file_path = models.FileField('file', upload_to='documents/%Y/')
duration = models.IntegerField()
#prompt_id = models.CharField(max_length=50)
def __unicode__(self):
return self.file_name
def save(self, *args, **kwargs):
self.prompt_id = IvrUploadAudioFile(self.file_path)
super(File, self).save(*args, **kwargs)
我在文件表中有一个 prompt_id 列,但我不想在添加/编辑中显示 prompt_id 字段。 我想插入 prompt_id 值,函数 IvrUploadAudioFile 将在幕后返回。所以我在这里覆盖保存方法。
那么在哪里写IvrUploadAudioFile函数。 这种情况怎么写
【问题讨论】:
-
您可以将您的 IvrUploadAudioFile 放在任何地方,将它放在相同的模型模块中可能是有意义的。将 editable=False 添加到 models.CharField 参数中,以便在添加和编辑中显示。