【发布时间】:2010-04-20 22:10:14
【问题描述】:
这是一个 django 模型文件,它没有像我预期的那样工作。 我希望 to_url 方法在 urls.py 文件中进行反向查找,并获得一个对应于使用 Arguments 模型提供的参数调用该视图的 url。
from django.db import models
class Element(models.Model):
viewname = models.CharField(max_length = 200)
arguments = models.ManyToManyField('Argument', null = True, blank = True )
@models.permalink
def to_url(self):
d = dict( self.arguments.values_list('key', 'value') )
return (self.viewname, (), d)
class Argument(models.Model):
key = models.CharField(max_length=200)
value = models.CharField(max_length=200)
值 d 最终成为从 unicode 字符串到另一个 unicode 字符串的字典,我相信它应该可以与永久链接装饰器调用的 reverse() 方法一起正常工作,但是,它会导致:
TypeError: reverse() keywords must be strings
【问题讨论】: