我有一个Files
表,其中包含有关远程目录中上载文件的信息。这是该表的模型:
class Files(models.Model):
id = models.AutoField(primary_key=True)
subjectid = models.ForeignKey('Subjects', models.DO_NOTHING, db_column='subjectid')
filetypeid = models.ForeignKey(FileTypes, models.DO_NOTHING, db_column='filetypeid')
filedescid = models.ForeignKey(FileDescription, models.DO_NOTHING, db_column='filedescid')
filepath = models.CharField(max_length=45, blank=True, null=True)
filename = models.FileField(upload_to='attachments/', blank=True, null=True)
ispublic = models.IntegerField(choices=YESNO)
extra_info = models.CharField(max_length=255, blank=True, null=True)
def __str__(self):
return self.filename.name or ''
class Meta:
managed = False
db_table = 'files'
verbose_name_plural = 'files'
我创建了自己的URL小部件,以替换在change_form
模板中显示为“ 当前:”的Django FileField url。该链接指向下载文件的视图。到目前为止,效果很好,但是问题是当我尝试添加新文件时,可以使用Browse
文件按钮选择新文件,但是当我单击Save
字段{{1 }}字段为空,没有文件上传。
filename
有人可以告诉我我在这里想念什么吗?
答案 0 :(得分:0)
他失去了Django社区,
我将回答我自己的问题,因为似乎没有人能够意识到答案。碰巧,作为新手,我在这里随处都可以找到示例,但是对FileField
关联的小部件进行子类化几乎没有什么用。因此,深入研究Django代码后,我找到了答案。就我而言,问题是我从MyAdminURLFieldWidget
派生了URLInput
而不是正确的子类ClearableFileInput
。
不客气。