Update Django von 1,6 bis 1,8: Invalid field name(N) in select_related

Ich tun, update-Projekt von Django 1.6.7 zu 1.8.7 und ich habe folgende Ausnahme mit Django 1.8, obwohl mit Django 1.6 er code war richtig:

In[2]: from apps.route import models
In[3]: models.Trace.objects.select_related("trace_points")
Out[3]: <repr(<django.db.models.query.QuerySet at 0x3b50c10>) failed: django.core.exceptions.FieldError: Invalid field name(s) given in select_related: 'trace_points'. Choices are: user>

Meine Modelle:

class Trace(SocialMixin, models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='traces')
    name = models.CharField(u'Название', max_length=255)
    rating = RatingField(range=5, weight=0)
    start_date = models.DateTimeField(u'Дата старта')
    finish_date = models.DateTimeField(u'Дата окончания', null=True, blank=True)
    distance = models.DecimalField(max_digits=15, decimal_places=6, null=True, blank=True)
    created = models.DateTimeField(auto_now_add=True)
    hits = generic.GenericRelation(HitCount, object_id_field='object_pk')
    description = models.TextField(null=True, blank=True)

class TracePoint(models.Model):
    country = models.ForeignKey(Country, null=True, blank=True)
    city = models.ForeignKey(City, null=True, blank=True)
    trace = models.ForeignKey(Trace, related_name="trace_points")

Ich habe auch diesen bug in der Detailansicht auf der Spur, Detailansicht verwendet get_related_selections, und natürlich bekam ich "FieldError: Invalid field name...", zu vermeiden, Fehler, die ich habe zu verwenden ManyToManyField statt ForeigenKey?

  • Der code in [3] macht keinen Sinn, da es mehr als eine TracePoint im Zusammenhang mit einer Trace.
  • Ja, es werden mehr angezeigt wird, erscheint als eine, die im Zusammenhang mit einer Spur, aber in den alten Django, dass es wirklich funktioniert...
  • Das wäre ein bug in der alten version dann.
  • Ich habe auch diesen bug in der Detailansicht, Detailansicht verwendet get_related_selections, und natürlich bekam ich "FieldError: Invalid field name...", zu vermeiden, Fehler, die ich habe zu verwenden ManyToManyField statt ForeigenKey?
InformationsquelleAutor Peter | 2016-05-05
Schreibe einen Kommentar