Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:index-error位于/admin/auth/user/list索引超出范围_Django_Python 2.7_Django Admin - Fatal编程技术网

Django:index-error位于/admin/auth/user/list索引超出范围

Django:index-error位于/admin/auth/user/list索引超出范围,django,python-2.7,django-admin,Django,Python 2.7,Django Admin,我有两个模型:customers(包含user=m.ForeignKey(user,related_name=“customers”))和UserAdmin(类UserAdmin(NestedModelAdmin,djangooseradmin))。我想要添加到用户字段,该字段为每个用户生成订单链接:in-app/models.py我编写了以下代码: def orders_url(self): return format_html(u"<a href='/admin/order/order

我有两个模型:customers(包含user=m.ForeignKey(user,related_name=“customers”))和UserAdmin(类UserAdmin(NestedModelAdmin,djangooseradmin))。我想要添加到用户字段,该字段为每个用户生成订单链接:in-app/models.py我编写了以下代码:

def orders_url(self):
return format_html(u"<a href='/admin/order/order/?q={0}'>Orders</a>", self.user.first_name)
from myproject.customer.models import Customer
def orders_url(self, user):
    customer = user.customers.all()[0]
    return customer.orders_url()
当我尝试搜索某个用户(例如/admin/auth/user/?q=Nick)时,一切正常,并生成指向Nick订单的链接,但当我进入/admin/auth/user/时,我看到这个错误:indexer位于/admin/auth/user/ 列表索引超出范围。 到下一个代码的回溯链接:

path_to_project/customer/admin/user_admin.py in orders_url
                customer = user.customers.all()[0] 
▼ Local vars
Variable    Value
self       <myproject.customer.admin.user_admin.UserAdmin object at 0xa7e788c>
user       <User: >

如何更改它?

通过更改user\u admin.py file orders\u url方法中的最后一行,问题得以解决:

def orders_url(self, user):
    customers = user.customers.all()
    return format_html(', '.join([customer.orders_url() for customer in customers]))

现在一切正常。

通过更改user\u admin.py file orders\u url方法中的最后一行,问题得以解决:

def orders_url(self, user):
    customers = user.customers.all()
    return format_html(', '.join([customer.orders_url() for customer in customers]))

现在一切正常。

您正在使用的用户对象没有任何Customer我看到即使是user也是空的,但我不知道该用户以及可以向其添加用户的位置。您正在使用的用户对象没有任何Customer我看到即使是user也是空的,但我不知道该用户以及可以向其添加用户的位置。