I try to filter data in tepmplate this way:
{% if devtypes %}
<ul>
{% for devtype in devtypes %}
<li> <h3> {{devtype.name}} </h3> ( {{devtype.desc}} )
<ul>
{% for device in devices %}
{% if device.devtype == devtype %}
<li><h4>{{device}}</h4></li>
{% endif %}
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
{% endif %}
And here are my models:
class Devtype(models.Model):
pk_devtype=models.AutoField(primary_key=True)
name=models.CharField(max_length=30, blank=True, null=True)
desc=models.CharField(max_length=30, blank=True, null=True)
def __str__(self):
return self.name
class Device(models.Model):
pk_device=models.AutoField(primary_key=True)
devtype=models.ForeignKey('Devtype', on_delete=models.CASCADE)
name=models.CharField(max_length=30, blank=True, null=True)
login=models.CharField(max_length=30, blank=True, null=True)
password=models.CharField(max_length=30, blank=True, null=True)
ip=models.CharField(max_length=20, blank=True, null=True)
desc=models.CharField(max_length=30, blank=True, null=True)
def __str__(self):
return self.name
I think that my way is wrong and I should replace this part
{% if device.devtype == devtype %}
with something like a filter. Please help.
Aucun commentaire:
Enregistrer un commentaire