Django:我有一个概要文件模型,我希望概要文件详细信息页面的slug是username,它存储在用户模型中

Django:我有一个概要文件模型,我希望概要文件详细信息页面的slug是username,它存储在用户模型中,django,django-models,Django,Django Models,我正在创建一个网站,其中每个用户都有一个关联的配置文件实例,因为我希望用户模型只处理与身份验证相关的用户功能,而配置文件模型处理其他所有功能(如用户上传的图像等)。配置文件有一个用户OneToOneField。但是,我希望能够使用url模式site/profile/[username]/访问每个配置文件的详细信息页面。如果不将用户名存储在用户和概要文件模型中,这是不可能的,因为概要文件详细信息视图的slug_字段必须是概要文件的主键,并且用户名是用户字段。有没有办法在不将用户名存储在两个不同位置

我正在创建一个网站,其中每个用户都有一个关联的配置文件实例,因为我希望用户模型只处理与身份验证相关的用户功能,而配置文件模型处理其他所有功能(如用户上传的图像等)。配置文件有一个用户OneToOneField。但是,我希望能够使用url模式site/profile/[username]/访问每个配置文件的详细信息页面。如果不将用户名存储在用户和概要文件模型中,这是不可能的,因为概要文件详细信息视图的slug_字段必须是概要文件的主键,并且用户名是用户字段。有没有办法在不将用户名存储在两个不同位置的情况下执行此操作

不需要它。你可以这样试试

在url.py中

from .import views

url(r'^(?P<usernameslug>[-_\w]+)/detail/$',views.detailprofile)
视图中的

def detailprofile(request,usernameslug):
    profile=Profile.objects.get(user__username=usernameslug)

这是不必要的。你可以这样试试

在url.py中

from .import views

url(r'^(?P<usernameslug>[-_\w]+)/detail/$',views.detailprofile)
视图中的

def detailprofile(request,usernameslug):
    profile=Profile.objects.get(user__username=usernameslug)

@Vik78,如果解决方案对您有效,请投票并选择,如果仍然存在任何问题,请通过下面的评论让我知道。谢谢你的帮助cooperation@Vik78,如果解决方案对您有效,请投票并选择,如果仍然存在任何问题,请通过下面的评论让我知道。谢谢你的合作