Django使用外键
我想知道如何修复代码,以便从类Categoria获取外部值,我需要获取nombrecategoria字段,但目前我不知道出了什么问题 models.pyDjango使用外键,django,foreign-keys,models,Django,Foreign Keys,Models,我想知道如何修复代码,以便从类Categoria获取外部值,我需要获取nombrecategoria字段,但目前我不知道出了什么问题 models.py class Subcategorias(models.Model): codigosubcategoria = models.CharField(max_length=7, unique=True) nombresubcategoria = models.CharField(max_length=30) descripcionsub
class Subcategorias(models.Model):
codigosubcategoria = models.CharField(max_length=7, unique=True)
nombresubcategoria = models.CharField(max_length=30)
descripcionsubcategoria = models.TextField(blank=True)
codigocategoria = models.ForeignKey('Categorias')
def __unicode__(self):
return self.codigosubcategoria
class Categorias(models.Model):
codigocategoria = models.CharField(max_length=7, unique=True)
nombrecategoria = models.CharField(max_length=30)
descripcioncategoria = models.TextField(blank=True)
def __unicode__(self):
return self.codigocategoria
views.py
def lista_subcategorias(request):
subcategorias = Subcategorias.objects.all()
categorias = Categorias.objects.all()
return render_to_response('lista_subcategorias.html',{'datos':subcategorias, 'categorias':categorias}, context_instance=RequestContext(request))
def lista_subcategorias(request):
subcategorias = Subcategorias.objects.all()
return render_to_response('lista_subcategorias.html',{'datos':subcategorias}, context_instance=RequestContext(request))
lista_subcategorias.html
<H2>Subcategorias Registradas</H2>
<table border=1>
<tr><td>codigo</td>
<td>Nombre</td>
<td>Descripcion</td>
<td>Categoria</td>
</tr>
<tr>
<ul>
{% for dato in datos %}
<td><B>{{dato.codigosubcategoria}}</B></td>
<td><b>{{dato.nombresubcategoria}}<b></td>
<td><b>{{dato.descripcionsubcategoria}}<b></td>
{% for item in categorias %}
{% if item.codigocategoria == dato %}
<td><B>{{item.nombrecategoria}}</B></td>
{% endif %}
{% empty %}
<li>empty</li>
{% endfor %}
{% empty %}
<li>empty</li>
{% endfor %}
</tr>
</ul>
</table>
<H2>Subcategorias Registradas</H2>
<table border=1>
<tr><td>codigo</td>
<td>Nombre</td>
<td>Descripcion</td>
<td>Categoria</td>
</tr>
<tr>
{% for dato in datos %}
<td><b>{{ dato.codigosubcategoria }}</b></td>
<td><b>{{ dato.nombresubcategoria }}</b></td>
<td><b>{{ dato.descripcionsubcategoria }}</b></td> <!-- don't forget to close your tags -->
<td><b>{{ dato.codigocategoria.nombrecategoria }}</b></td>
{% empty %}
<td colspan="4">empty</td>
{% endfor %}
</tr>
</table>
注册的子类别
科迪戈
名义
描述
范畴
-
{dato%中的dato为%1}
{{dato.codigo子类}}
{{dato.nombresubcategoria}}
{{dato.descriptionSubcategoria}}
{categorias%%中的项的%s}
{%if item.codigocateria==dato%}
{{item.nombrecategoria}
{%endif%}
{%empty%}
- 空的 {%endfor%} {%empty%}
- 空的 {%endfor%}
您不需要获取categorias对象。要访问相关categorias对象的字段,请使用
{{dato.codigocateria.nombrecategoria}
views.py
def lista_subcategorias(request):
subcategorias = Subcategorias.objects.all()
categorias = Categorias.objects.all()
return render_to_response('lista_subcategorias.html',{'datos':subcategorias, 'categorias':categorias}, context_instance=RequestContext(request))
def lista_subcategorias(request):
subcategorias = Subcategorias.objects.all()
return render_to_response('lista_subcategorias.html',{'datos':subcategorias}, context_instance=RequestContext(request))
lista_subcategorias.html
<H2>Subcategorias Registradas</H2>
<table border=1>
<tr><td>codigo</td>
<td>Nombre</td>
<td>Descripcion</td>
<td>Categoria</td>
</tr>
<tr>
<ul>
{% for dato in datos %}
<td><B>{{dato.codigosubcategoria}}</B></td>
<td><b>{{dato.nombresubcategoria}}<b></td>
<td><b>{{dato.descripcionsubcategoria}}<b></td>
{% for item in categorias %}
{% if item.codigocategoria == dato %}
<td><B>{{item.nombrecategoria}}</B></td>
{% endif %}
{% empty %}
<li>empty</li>
{% endfor %}
{% empty %}
<li>empty</li>
{% endfor %}
</tr>
</ul>
</table>
<H2>Subcategorias Registradas</H2>
<table border=1>
<tr><td>codigo</td>
<td>Nombre</td>
<td>Descripcion</td>
<td>Categoria</td>
</tr>
<tr>
{% for dato in datos %}
<td><b>{{ dato.codigosubcategoria }}</b></td>
<td><b>{{ dato.nombresubcategoria }}</b></td>
<td><b>{{ dato.descripcionsubcategoria }}</b></td> <!-- don't forget to close your tags -->
<td><b>{{ dato.codigocategoria.nombrecategoria }}</b></td>
{% empty %}
<td colspan="4">empty</td>
{% endfor %}
</tr>
</table>
注册的子类别
科迪戈
名义
描述
范畴
{dato%中的dato为%1}
{{dato.codigo子类}}
{{dato.nombresubcategoria}}
{{dato.descriptionsubcategoria}}
{{dato.codigotegoria.nombrecategoria}}
{%empty%}
空的
{%endfor%}
另外,我不知道你为什么要在表格中使用这个列表,这没有任何意义。哦,非常感谢:)它工作得很好,你使用列表也是对的。祝你度过愉快的一天。谢谢,你介意接受答案吗?如果你有问题,人们往往会提供更多更好的帮助