2009-08-01 5 views
0

У меня есть следующие в моделях:Отношение Django не работает?

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"}, 
] 

Я смотрю в базе данных, и каждая запись имеет там значение, которое не пустое. Почему это говорит «Нет»? Что-то не так в этом отношении?

+0

Каков результат при использовании {{product.PrCompany}}? Это даст вам подсказку о том, к каким данным обращаются. – anschauung

+0

Интересно. Если я это сделаю, я получу название компании? Итак, угадайте, какое отношение работает, но почему я не получаю URL-адрес? Возможно, URL-адрес зарезервировал какое-то слово? – R0b0tn1k

+0

Ну, я полагаю, следующий тест будет состоять в том, чтобы ввести безвредную строку в одно из полей ComURL --- если вы измените значение на «foo», вы все равно получите «None», который возвращается в эти записи? – anschauung

ответ

1

Возможно, вы захотите попробовать модели.URLField() вместо CharField для ComURL.

+0

, если я использую URL-адрес, чтобы все URL-адреса должны были быть уникальными, чего я не хочу. – R0b0tn1k

Смежные вопросы