get context不工作的Django视图

2024-09-29 23:16:43 发布

您现在位置:Python中文网/ 问答频道 /正文

有个快速的问题。尝试在一个DetailView中使用关系模型。但是,无论我尝试什么,数据都不会显示。我试过几个版本的模板标签,但都没用。在

html格式

 {% for parts in relatedparts %}{{ parts.name }} 
                                                                </div>{% endfor %}    

在视图.py在

^{pr2}$

在模型.py在

class ErrorCodes(models.Model):
name = models.CharField(max_length=256)
description = models.CharField(max_length=400)
instructions = models.CharField(max_length=256)
PartsNeeded = models.CharField(max_length=120, default='')
usercomments = models.CharField(max_length=400, default='', blank=True)
relpic = models.ImageField(upload_to='media/',blank=True)
relpictwo = models.ImageField(upload_to='media/',blank=True)

def __str__(self):
    return self.name

def get_absolute_url(self):
    return reverse("errorcodes:errorcodeview",kwargs={'name':self.name})  

class RelatedParts(models.Model):
name = models.CharField(max_length=256)
related_error_code = models.ForeignKey(ErrorCodes, on_delete=models.PROTECT)

def __str__(self):
    return self.name

Tags: namepy模型selftruereturnmodelsdef
2条回答

会不会是那个“名字=self.get_对象()“应为”名称=self.get_对象().姓名“?在

您目前拥有:

context['relatedparts'] = RelatedParts.objects.filter(name=self.get_object())

但这可能会产生一个空的查询集。在

你根本不需要这么做。您可以遵循模板中的关系。在

{% for part in object.relatedparts_set.all %}{{ part.name }}{% endfor %}

您不需要视图中的任何代码来启用此功能。在

相关问题 更多 >

    热门问题