3

日付が保存されている別のモデルへの外部キーを持つモデルで、一般的な日付ビューを使用しようとしています。私のビュークラスは次のようになります。

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')

そして、私が遭遇したエラーはintですMiles has no field named 'ride__date'

私はこれが初めてで、1 年間のすべてのマイル エントリを表示できるように、2 つのモデルに参加しようとしていることが理解できます。

4

1 に答える 1

1

私が見つけたこれを達成する唯一の方法は、次のように、乗車日を返すクラス Miles に @property を作成することです。

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

クラス MileageYearView の date_field の値として「ride_date」を使用します

それが役に立てば幸い!

于 2013-10-23T10:52:51.177 に答える