2009-08-01 12 views
0

Je donne les résultats suivants dans les modèles:La relation Django ne fonctionne pas?

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) 

et ce qui suit dans le modèle:

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

mais la sortie que je reçois est:

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

Je regarde dans la base de données, et chaque entrée a une valeur là-dedans, qui n'est pas vide. Pourquoi dit-on "Aucun"? Quelque chose ne va pas dans la relation? Vous voudrez peut-être essayer models.URLField() au lieu d'un CharField pour le ComURL

+0

Quelle est la sortie lorsque vous utilisez {{product.PrCompany}}? Cela vous donnera un indice quant aux enregistrements auxquels vous accédez. – anschauung

+0

Intéressant. Si je fais cela, je reçois le nom de l'entreprise? Donc deviner la relation fonctionne, mais pourquoi ne pas obtenir l'URL alors? Est-ce que URL est peut-être un mot réservé? – R0b0tn1k

+0

Eh bien, je suppose que le prochain test consisterait à entrer une chaîne inoffensive dans l'un des champs ComURL --- si vous changez la valeur en 'foo', obtenez-vous toujours 'None' retourné sur ces enregistrements? – anschauung

Répondre

1

+0

si j'utilise URLfield que toutes les URL doivent être uniques, ce qui n'est pas quelque chose que je veux. – R0b0tn1k