因此我目前将此作为每个用户的个人资料模型。
class Profile(models.Model):
user = models.OneToOneField(User)
location = models.CharField(max_length=120, choices=LOCATIONS,null=True, blank=True)
picture = models.ImageField(upload_to=upload_location, null=True, blank=True)
如何根据位置字段中给出的选项来提交用户?因此,例如,如果当前用户选择了伦敦,则在模板中他们只会看到具有相同位置的用户/个人资料的结果。
我是否必须在views.py中创建if语句或for循环?或者我使用q查找?如果有人能给我一些指示或指示我正确的方向,这将是惊人的!
提前感谢您提供任何帮助
答案 0 :(得分:0)
建议在视图中过滤结果,并根据您的要求,您只需使用本机django查询集。您可以创建如下视图:
<强> views.py 强>
library(stringr)
library(lubridate)
library(tidyverse)
a <- c("blablabla-19960101T000000Z-1.tsv", "blablabla-19960101T000000Z-2.tsv", "blablabla-19960101T000000Z-3.tsv")
a %>%
strsplit('-') %>%
transpose() %>%
map_dfc(~data_frame(.x)) %>%
unnest() %>%
set_names(c('Name','Date','no')) %>%
mutate(Date = Date %>%
str_extract('\\d+') %>%
ymd(),
no = str_extract(no, '\\d+'))
例如,如果您有用于列出用户的网址from django.contrib.auth.models import User
from django.shortcuts import render
def users(request):
location = request.GET.get('location', 'default_location')
users = User.objects.filter(profile__location=location)
return render(request, 'users.html', {'users': users})
,则传递位置参数会过滤您的用户/users/