我有两个一对多关系的对象:
from django.db import models
class DownloadItem(models.Model):
name = models.CharField(max_length=200)
description = models.CharField(max_length=200)
downloadItem = models.ImageField(upload_to='./images/downloadItems', blank=True)
def __unicode__(self):
return self.name
class DownloadItemSample(models.Model):
photo = models.ImageField(upload_to='./images/downloadItemsSample', blank=True)
downloadItem = models.ForeignKey(DownloadItem, blank=True, null=True)
order = models.IntegerField(default=0)
在我看来,我要做的是:
^{pr2}$在我的模板中,我希望得到以下内容:
{{ downloads_list.downloadItemSample_set.all().order_by('order')[0] }}
我也希望遍历数组,但是对于这个示例,我使用索引0
。在
我想写一个自定义的模板标记,但我认为这不是最好的方法。我想我可以为DownloadItem
模型编写一个方法,它接受一个索引并返回正确的DownloadItemSample
对象,但目前我也无法创建这个方法。在
解决这个问题的最好办法是什么?在
您永远无法实现
downloads_list.downloadItemSample_set
,因为downloads_list
是一个查询集。在实现这一目标的一种方法是:
这里
^{pr2}$get_sample_by_order
是类DownloadItem
中的一个助手方法,它返回我们需要的值。在相关问题 更多 >
编程相关推荐