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
Quelle est la sortie lorsque vous utilisez {{product.PrCompany}}? Cela vous donnera un indice quant aux enregistrements auxquels vous accédez. – anschauung
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
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