0

モデルを指定してリストを返すのに問題があります。私が持っているモデル:

class Club(models.Model):
    establishment = models.CharField(max_length=200)
    address = models.CharField(max_length=200)
    def __unicode__(self):
        return self.establishment

class Available(models.Model):
    club = models.ForeignKey(Club)
    court = models.CharField(max_length=200)
    avail_time = models.DateTimeField('available time')
    def __unicode__(self):
        return self.court

「Available.objects.filter(club="AV Club") を実行しようとしていますが、「ValueError: 基数 10 の int() の無効なリテラル: 'AV Club'」が表示されます。私の最終目標は、返せるようにすることです。クラブに与えられた avail_times のリスト。

修正方法に関するアイデアはありますか?これはおそらく非常に基本的な問題ですが、私はdjangoを初めて使用し、これに頭を悩ませています。ありがとう!

4

2 に答える 2

5

clubargは、Clubインスタンスまたはそのpk(この場合は整数)のいずれかである必要があります。あなたはこれを必要とします

Available.objects.filter(club__establishment="AV Club")
于 2012-05-02T13:29:35.423 に答える
1

__外部キーの関係は、 (二重アンダースコア)を使用してdjangoにまたがっています

club整数であるForeignKeyもそうです。そのため、必要なものが確立されているようValueErrorに見え、DrTyrsaはそれを照会する方法の例を示しています。

必要な数の外部キー関係にまたがることができます(パフォーマンスへの影響に注意してください)

クラブに国へのFKがあり、国にコードフィールドがある場合、想像してみてください。

Available.objects.filter(club__country__code="USA")

https://docs.djangoproject.com/en/dev/topics/db/queries/

于 2012-05-02T13:31:41.200 に答える