Python Django ValueError:字段';id';应为一个数字,但得到';myuser';

Python Django ValueError:字段';id';应为一个数字,但得到';myuser';,python,django,django-models,django-views,Python,Django,Django Models,Django Views,我需要使用我的用户名来panel/profile/地址。因此,我在模型中所做的是: class Customer(models.Model): user = models.OneToOneField(User, null=True, blank=True, on_delete=models.CASCADE) first_name = models.CharField(max_length=30, null=True) last_name = models.CharFiel

我需要使用我的用户名来
panel/profile/
地址。因此,我在
模型中所做的是:

class Customer(models.Model):
    user = models.OneToOneField(User, null=True, blank=True, on_delete=models.CASCADE)
    first_name = models.CharField(max_length=30, null=True)
    last_name = models.CharField(max_length=30, null=True)
    
    def __str__(self):
        return str(self.user)
url.py
中,我有以下路径:

urlpatterns = [
    path('panel', views.home, name='panel'),

    path('panel/register', views.registerPage, name='register'),
    path('panel/login', views.loginPage, name='login'),
    path('panel/logout', views.logoutPage, name='logout'),

    path('dashboard', views.userProfile, name='dashboard'),
    path('dashboard/settings/edit-profile', views.userSettings, name='settings'),

    path('panel/profile/<str:username>', views.profile, name='profile'),
]
但是在
views.py
中,我需要获取用户名作为URL的一部分,如下所示:

@login_required(login_url='login')
@allowed_users(allowed_roles=['admins'])
def profile(request, username):
    customer = Customer.objects.get(user=username)
    print(type(customer), customer)
但我有一个错误:

ValueError at /panel/profile/myuser
Field 'id' expected a number but got 'myuser'.

使用span关系获取
客户
实例

@login_required(login_url='login')
@allowed_users(allowed_roles=['admins'])
def profile(request, username):
    customer = Customer.objects.get(user__username=username)
    print(type(customer), customer)
@login\u必需(login\u url='login')
@允许的用户(允许的角色=['admins'])
def配置文件(请求、用户名):
customer=customer.objects.get(用户\用户名=用户名)

打印(键入(客户),客户)
谢谢,问题解决了。但是为什么我们会出现这个错误呢?
@login_required(login_url='login')
@allowed_users(allowed_roles=['admins'])
def profile(request, username):
    customer = Customer.objects.get(user__username=username)
    print(type(customer), customer)