Django的related_name问题

时间:2018-11-11 12:16:15

标签: python django django-models

我的模型上的related_name出现问题。在“ Pildora”类上,该字段上有一个ForeignKey:bloque。我已经指出了related_name,但是它不起作用。

我有以下模型:

class Bloque(models.Model):
    titulo          = models.CharField(max_length=200)
    letra           = models.CharField(max_length=1)
    descripcion     = models.CharField(max_length=200)
    tema            = models.ForeignKey(Tema, on_delete=models.CASCADE)
    created_at      = models.DateTimeField(auto_now_add=True)
    slug            = models.SlugField(max_length=1)
    updated_at      = models.DateTimeField(auto_now=True)

class Pildora(models.Model):
    titulo              = models.CharField(max_length=200)
    descripcion         = RichTextField(max_length=2000, config_name='default')
    slug                = models.SlugField(max_length=20)
    url                 = models.URLField(max_length=200)
    tipo                = models.ForeignKey(TipoPildora, on_delete=models.CASCADE)
    identificador       = models.IntegerField()
    pildora_anterior    = models.ForeignKey('self', on_delete=models.CASCADE, blank=True, null=True)
    bloque              = models.ForeignKey(Bloque, on_delete=models.CASCADE, related_name='%(app_label)s_%(class)s_related')
    activo              = models.BooleanField()
    created_at          = models.DateTimeField(auto_now_add=True)
    updated_at          = models.DateTimeField(auto_now=True)

但是当我使用时:

bloque = Bloque.objects.filter(tema__asignatura__slug=kwargs["asignatura"], tema__slug=kwargs["tema"], slug=kwargs["bloque"])
print(bloque.formacion_pildora_related)

Django说:

AttributeError: 'QuerySet' object has no attribute 'formacion_pildora_related'

我阅读了django文档,但找不到为什么发生了:S 我该怎么办?

PS:在有疑问的情况下,%(app_label)s _%(class)s_related是指“ formacion_pildora_bloque”。我已经输入了诸如“ pildoras”之类的固定名称,甚至未作任何报告,因此默认情况下将其用作“ set_pillora”,但是这些都不起作用。

真的非常感谢你们。我被困住了,有点沮丧。

0 个答案:

没有答案