您好,人们被大量搜索并测试了变化的slug_url_kwarg
,但问题仍然没有解决!谁能说出为什么会发生这个错误?这是我的模型。py
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
#additional
blood_type = models.CharField(max_length=2,blank=True)
phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$', message="Phone number must be entered in the format: '+999999999'. Up to 15 digits allowed.")
phone_number = models.CharField(validators=[phone_regex], max_length=17, blank=True)
description = models.TextField(blank=True)
case =models.CharField(max_length=30,blank=True)
def __str__(self):
return self.user.username
这是我的views.py:基本上,我想设置一个视图,以显示与登录的人具有相同血型的每个人,case
字段用于确定某个人是捐赠者还是接受者,我们想匹配此人,所以我需要相反的[C0的登录者]例如,如果登录的人是带有“血液类型”的“收款人”:A +我需要所有带有“血液类型”的“献血者”的详细视图A +
case
这是我的url.py:
class ProfileDetailView(DetailView,LoginRequiredMixin):
model = UserProfile
template_name = 'basicapp/detail_view.html'
context_object_name = 'pro_detail'
def get_queryset(self):
user = UserProfile.objects.get(user=self.request.user)
bloodType = user.blood_type
Case = user.case
return UserProfile.objects.filter(blood_type__exact=bloodType and ~Q(case__exact=Case))
您想使用哪个字段来选择视图显示的实例?那应该是您替换为urlpatterns = [
path('',views.index, name='index'),
path('register/', views.register,name='register'),
path('<slug:slug>/',views.ProfileDetailView.as_view(),name='detail_view')
]
的内容。当然,最简单的方法是根据实例pk选择。
<slug:slug>/