2009-08-01 8 views
0

私がモデルで、次があります。ジャンゴ関係はできませんか?

class Companies(models.Model): 
    ComName = models.CharField(max_length=255) 
    ComURL = models.CharField(max_length=1024,null=True) 

    class Products(models.Model): 
    PrName = models.CharField(max_length=255) 
    PrCompany = models.ForeignKey(Companies) 

、テンプレートに次の

{% if products %} 
    var markers = [ 
    {% for product in products %}{"url":"{{ product.PrCompany.ComURL }}","name":"{{ product.PrName }}"},{% endfor %} 
    ] 
    {% endif %} 
{% endblock %} 

をしかし、私が得る出力は次のようになります。

var markers = [ 
{"url":"None","name":"Samsung GT-S7350"},{"url":"None","name":"SonyEricsson W395"},{"url":"None","name":"Nokia E75"}, 
] 

私はデータベースに見て、各エントリには値があり、空ではありません。 「None」と表示されるのはなぜですか? 関係に何か問題がありますか?

+0

{{product.PrCompany}}を使用した場合の出力は何ですか?これにより、どのレコードがアクセスされているかのヒントが得られます。 – anschauung

+0

興味深い。もし私がそうすれば、私は会社の名前を得ますか?だから関係を推測するが、なぜ私はURLを取得しないでください?おそらくURLは何らかの種類の予約語ですか? – R0b0tn1k

+0

さて、次のテストでは、無害な文字列をComURLフィールドの1つに入力することになると思います。値を 'foo'に変更すると、そのレコードに「None」が返されますか? – anschauung

答えて

1

ComURLのCharFieldの代わりにmodels.URLField()を試してみるとよいでしょう。

+0

URLフィールドを使用すると、すべてのURLが一意でなければなりません。これは私が望むものではありません。 – R0b0tn1k

関連する問題