从外键访问日期字段

时间:2013-10-18 19:24:45

标签: django django-models django-views

我正在尝试在模型上使用通用日期视图,该模型具有存储日期的另一个模型的外键。我的视图类看起来像这样。

class MileageYearView(YearArchiveView):
    queryset = Miles.objects.all()
    date_field = 'ride__date'
    make_object_list = True

这是我的模型的样子

class Ride(models.Model):
    profile = models.ForeignKey(RideProfile)
    leader = models.ForeignKey(Rider)
    date = models.DateTimeField('date of ride')
    approved = models.BooleanField(default=False)

class Miles(models.Model):
    rider = models.ForeignKey(Rider)
    ride = models.ForeignKey(Ride)
    actual_miles = models.FloatField('actual miles')

我遇到的错误是Miles has no field named 'ride__date'

我是新手,我可以理解我正在尝试加入这两个模型,这样我就可以查看一年内的所有里程条目。

1 个答案:

答案 0 :(得分:1)

我发现实现这一目标的唯一方法是在类Miles中创建一个返回骑行日期的@property,如下所示:

@property
def ride_date( self ):
    return self.ride.date

并使用'ride_date'作为MileageYearView类中date_field的值

希望它有所帮助!