2014-10-01 81 views
0

事情很简单,但我不知道该怎么做。 我的下一个models.py在模板中显示的Django ManytoManyField是字典

class ElementoDeRed(models.Model): 

    IP_Address = models.CharField(max_length=200, primary_key= True) 
    MAC_Address = models.CharField(max_length=200) 
    offset_bytes = models.CharField(max_length=200) 
    transfered_bytes = models.CharField(max_length=200) 
    time = models.CharField(max_length=200) 
    previous_bytes = models.CharField(max_length=200) 
    previous_previous_bytes = models.CharField(max_length=200) 


    class Meta: 
     verbose_name = 'Dispositivos en mi nube' 
     verbose_name_plural = 'Dispositivos en mi nube' 

    def __unicode__ (self): 
     return smart_unicode(self.IP_Address) 

class Register(models.Model): 
    user = models.ForeignKey(User) 
    network_element = models.ManyToManyField(ElementoDeRed) 
    registered_date = models.DateTimeField(null=True,blank=True) 

    def __unicode__ (self): 
     #return smart_unicode(self.network_element) 
     return smart_unicode("%s: %s" % (self.user,self.network_element.all()[0])) 

正如你所看到的,注册使用ElementoDeRed元素本身的存储。

的事情是,我想在我的模板像表明:

“用户<‘用户’>与此IP配置的下一个设备:<‘IP_ADDRESS’>,苹果:<“MAC_ADDRESS '....“

我在模板上呈现的是一个名为”dict_username_registers“的变量,是一个字典,女士的键值是用户名,并且它所指向的项是”寄存器“字段。 但即时得到这样的:

david: [<Register: david: 10.0.0.3>, <Register: david: 10.0.0.1>] , Alice: <Register: Alice: 10.0.0.2>] 

我如何可以访问到该字段中HTML ???? 谢谢!让我知道如果你需要别的东西!

+1

如何被定义的字典?为什么不通过迭代“register.network_element.all”来直接访问模板中的关系? – 2014-10-01 11:19:50

回答

0

你可以遍历的dict_username_registers这样

{% for register in dict_username_registers %} 
    accessing date {{register.registered_date}} 
{% endfor %} 

你车的元素阅读更多有关这些标签here