小编Mar*_*aux的帖子

Django 中的预取问题

我的 Django 应用程序中有当前模型:

class Referentiel(models.Model):
    code = models.CharField(max_length=50)
    libelle = models.CharField(max_length=100)


class Reference(models.Model):
    referentiel = models.ForeignKey('Referentiel', related_name='reference_set')
    clef = models.CharField(max_length=50)


class ValeurReference(models.Model):
    reference = models.ForeignKey('Reference', related_name='valeur_set')
    valeur = models.DecimalField(max_digits=15, decimal_places=5)
    date_fin = models.DateField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

我希望检索 Referentiel 的值,所以我做这样的事情:

Referentiel.objects.filter(code='whatever_code').prefetch_related(Prefetch('reference_set__valeur_set', to_attr='valeurs'))
Run Code Online (Sandbox Code Playgroud)

但是在尝试获取我的值时出现以下错误:

AttributeError: 'Referentiel' object has no attribute 'valeurs'
Run Code Online (Sandbox Code Playgroud)

Django 版本:1.7.4 Python 版本:3.4.2

感谢您的任何建议。

python django prefetch django-queryset

5
推荐指数
1
解决办法
1313
查看次数

标签 统计

django ×1

django-queryset ×1

prefetch ×1

python ×1