"None" 改为显示对象 Django 的名称
"None" shows instead name of object Django
我有这样一个错误:在我的模型中有两个:主题和部分。在 section-model 中有一个字段,用于保存该部分中的每个主题。
class Section(models.Model):
"""Model for a section."""
ename = models.CharField(max_length=255)
name = models.CharField(max_length=255)
definition = models.CharField(max_length=500)
picture = models.ImageField(upload_to="physics/section", blank=True)
subjects = models.ManyToManyField("Subject")
def __str__(self):
return self.name
class Subject(models.Model):
"""Model for a subject in section."""
ename = models.CharField(max_length=255)
name = models.CharField(max_length=255)
definition = models.CharField(max_length=500)
content = models.TextField()
def __str__(self):
return self.name
我试图展示该部分中的每个主题。我的观点和模板如下:
观看次数:
def section(request, section_name):
section = get_object_or_404(Section, ename=section_name)
return render(request, 'section.html', {'section': section})
模板:
{% extends 'base.html' %}
{% block content %}
{{ section.name }}
{{ section.subjects }}
{% endblock content %}
但"None"显示在该部分的页面中。看起来是这样的:
(此处为真实主题名)Physics.Subject.None
谁能告诉我这是怎么回事?谢谢,提前关注
由于您使用 ManyToManyField 来引用您的 Section
您需要访问模板中的该集合,然后从中提取信息。
类似这样的内容就足够了:
{% extends 'base.html' %}
{% block content %}
{{ section.name }}
{% for subject in section.subjects_set.all %}
{{ subject.name }}
{% endfor %}
{% endblock content %}
我有这样一个错误:在我的模型中有两个:主题和部分。在 section-model 中有一个字段,用于保存该部分中的每个主题。
class Section(models.Model):
"""Model for a section."""
ename = models.CharField(max_length=255)
name = models.CharField(max_length=255)
definition = models.CharField(max_length=500)
picture = models.ImageField(upload_to="physics/section", blank=True)
subjects = models.ManyToManyField("Subject")
def __str__(self):
return self.name
class Subject(models.Model):
"""Model for a subject in section."""
ename = models.CharField(max_length=255)
name = models.CharField(max_length=255)
definition = models.CharField(max_length=500)
content = models.TextField()
def __str__(self):
return self.name
我试图展示该部分中的每个主题。我的观点和模板如下: 观看次数:
def section(request, section_name):
section = get_object_or_404(Section, ename=section_name)
return render(request, 'section.html', {'section': section})
模板:
{% extends 'base.html' %}
{% block content %}
{{ section.name }}
{{ section.subjects }}
{% endblock content %}
但"None"显示在该部分的页面中。看起来是这样的:
(此处为真实主题名)Physics.Subject.None
谁能告诉我这是怎么回事?谢谢,提前关注
由于您使用 ManyToManyField 来引用您的 Section
您需要访问模板中的该集合,然后从中提取信息。
类似这样的内容就足够了:
{% extends 'base.html' %}
{% block content %}
{{ section.name }}
{% for subject in section.subjects_set.all %}
{{ subject.name }}
{% endfor %}
{% endblock content %}