如何使用url参数反转django admin url以预填充某些字段?

时间:2017-10-19 15:00:45

标签: python django django-admin

我有交易应用和交易模型。事务模型具有用户模型的外键。我注意到我可以通过GET参数预填充一些带有数据的字段。例如,要以管理员身份为我的交易选择用户,我可以使用此网址:

transactions/transaction/add/?user=1

它工作正常,但我想使用反向函数来生成那种网址。

试过这个:

from django.urls import reverse
reverse('admin:transactions_transaction_add', kwargs={'user': 1})

但得到了这个错误:

Reverse for 'transactions_transaction_add' with arguments '()' 
and keyword arguments '{'user': 1}' not found. 1 pattern(s)
tried: ['admin/transactions/transaction/add/$']

我使用了连接生成的链接:

change_url = reverse(
        "admin:transactions_transaction_add",
    ) + "?user=" + str(obj.pk)

但是,如果能够找到更明确的解决方案,那将非常友好。 请注意,'transactions / transaction / add /?user = 1'在浏览器中使用时效果很好,反向功能出现错误。

谢谢!

1 个答案:

答案 0 :(得分:0)

从先前提出的问题中尝试this solution

url = reverse('object_detail', 
              kwargs={'foo':'bar'}, 
              current_app=app_name_or_name_space)

或尝试official documentation