Python 扩展模型&x27;具有附加属性的查询集

Python 扩展模型&x27;具有附加属性的查询集,python,django,Python,Django,我有一个简单的Django模型,带有一些internet会话(Radius日志)。并希望在我的模板中显示它 models.py: class Radacct(models.Model): radacctid = models.BigIntegerField(primary_key=True) username = models.CharField(max_length=253) nasipaddress = models.IPAddressField() clas

我有一个简单的Django模型,带有一些internet会话(Radius日志)。并希望在我的模板中显示它

models.py:

class Radacct(models.Model):
    radacctid = models.BigIntegerField(primary_key=True)
    username = models.CharField(max_length=253)
    nasipaddress = models.IPAddressField()
    class Meta:
        db_table = u'radacct'
view.py:

def ajax_radius_sessions(request, username):
    radius_sessions = Radacct.objects.filter(username=username).order_by('-radacctid')
template.html:

{% for session in radius_sessions %}
    {{ session.username }}, {{ session.nasipaddress }}</br>
{% endfor %}
但我无法使用密钥作为变量在模板中访问此词典:

#Wrong!
{{ servers[session.nasipaddress] }}
方法2b: 视图级别。向Queryset实例添加新属性

也许我可以为我的Radacct模型添加一个新属性,该属性不与数据库连接。在我看来,用主机名来填充它

计算某些“属性”,然后在Queryset{%for%}循环的模板中访问它的正确方法是什么

再次强调:似乎我不能作为模型的方法来做这件事,所以我认为我应该用自定义的结果来扩展我的数据库结果


顺便说一句,很抱歉发了这么长的帖子。这是我第一次尝试Stackoverflow。谢谢大家!

模型“方法”。创建一个单独的类,负责查找DNS条目并缓存它们,并在模型的描述符中引用此类的实例。

长总比小好。重要的是用它来指导读者。欢迎你看了我所有的帖子。谢谢你!;)Ignacio,应该使用什么缓存技术?抱歉,我是Django的新手,如何在我的模型中引用这个实例?@Lufa:使用的特定缓存技术可能会有所不同,但一个非常基本的技术是在类的属性上实现方法2a。将类写入后,只需像分配任何其他描述符一样分配它<代码>雷达等级CCT<代码>主机名=主机名查找()<代码>打印someradacct.hostname
#Wrong!
{{ servers[session.nasipaddress] }}