2012-05-02 7 views
0

モデルを指定してリストを返すのに問題があります。モデル私が持っている:私は "Available.objects.filter(クラブ=" AVクラブ ")を実行しようとしていますが、私は得る" とValueErrordjangoでのvaluerrorの修正方法を教えてください。

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 

:「AVクラブ:ベース10とのint()に無効なリテラル''私の最終目標は、与えられたavail_timesのリストを返すことです。

これはおそらく超基本的な問題ですが、私はdjangoを初めて使っていて、ありがとう!

答えて

5

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

Available.objects.filter(club__establishment="AV Club") 
外部キー関係が __(二重のアンダースコア)を使用して、ジャンゴに張られ
1

のでclubあなたがValueErrorを得ているなぜそれが何をしたい表示されている整数、あるだけのForeignKeyですDrTyrsaはそれを問い合わせる方法の例を示しています。

あなたは必要な限り多くの外部キー関係にまたがることができます(パフォーマンスへの影響を意識する)

クラブは、国と国へのFKを持っていた場合、コードのフィールドを持っていたが、想像:

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

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

関連する問題