如何添加到django-autocomplete-light所选项目的链接?

时间:2013-11-13 07:18:45

标签: hyperlink django-admin edit django-autocomplete-light

新bie在这里。我成功地将django-autocomplete-light安装到我的django-admin v1.4。

有没有办法在选择自动完成灯小部件后添加超链接,这是模型中的外键字段?我只能看到一个x图标来取消所选项目。

创建链接的目的是打开一个弹出窗口来编辑所选的记录。

提前感谢任何建议

1 个答案:

答案 0 :(得分:4)

你必须添加这个'?_ popup = 1“target =”_ blank“onclick =”return showAddAnotherPopup(this);'到你的网址。

这是一个完整的解决方案。

`class EditModelBase(autocomplete_light.AutocompleteModelBase):

choice_html_format = u'''
    <span class="div" data-value="%s">%s</span>
    <a href="%s" title="%s"><img src="%s%s" /></a>
'''

def choice_html(self, choice):
    """
    Return a choice formated according to self.choice_html_format.
    """
    choice_format = u'''<span class="div" data-value="%s">%s</span>'''
    if not choice.get_absolute_update_url():
        return choice_format
    return self.choice_html_format % (
        self.choice_value(choice), self.choice_label(choice),
        choice.get_absolute_update_url(), _(u'Update'),
        settings.STATIC_URL, 'admin/img/icon_changelink.gif')`

def get_absolute_update_url(self):
    url = reverse('admin:ccad_carrier_change', args=(self.id,))
    url = '%s?_popup=1" target="_blank" onclick="return showAddAnotherPopup(this);' % url
    return url

我希望它有效。