【发布时间】:2014-07-13 15:11:55
【问题描述】:
我有一个这样的模型
class File(models.Model):
folder=models.ForeignKey(Folder, null=True, blank=True)
uploaded_file=models.FileField(upload_to=get_upload_path)
pub_date = models.DateTimeField('date published',default=timezone.now())
tag=models.ManyToManyField(FileTag)
notes=models.TextField(max_length=200)
uploader=models.ForeignKey(User)
def __unicode__(self):
return str(self.uploaded_file)
#return os.path.basename(self.uploaded_file.name)
def filename(self):
return os.path.basename(self.uploaded_file.name)
我想做这样的事情
sr_files=File.objects.filter(filename__contains=keyword)
但我不能使用带有 filename() 自定义函数的过滤器 请帮忙
这是我的模板代码
{% if sr_files %}
<ul>
{% for rf in sr_files %}
<li><a href="/documents/{{rf.uploaded_file}}">{{ rf.filename }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No Files Found containing {{ keyword }}</p>
{% endif %}
【问题讨论】:
标签: django django-models django-queryset