[英]How to query Django model from views.py file?
我的models.py文件中有一个名为Search的模型。 我进行了迁移,除一个问题外,其他所有东西都工作正常。 在我的views.py文件中,我创建了一个名为var1的变量,该变量将“ search_query”字段查询到数据库中,但是很遗憾,它无法分配该变量。 请帮助我如何访问我的模型以运行此行,
var1 = Search.objects.latest('search_query')
这是我的models.py文件,
from django.db import models
class Search(models.Model):
search_query = models.CharField(max_length=64)
views.py文件,
from django.shortcuts import render, redirect
import requests
from git_profile.forms import SearchForm
from git_profile.models import Search
def index(request):
var1 = Search.objects.latest('search_query')
编辑:
我想用此替换python user_profile = requests.get('https://api.github.com/users/{0}'.format(str(var1))) content = dict() content['user'] = user_profile.json()
替换python user_profile = requests.get('https://api.github.com/users/{0}'.format(str(var1))) content = dict() content['user'] = user_profile.json()
但var1不能由替换字段替换,API给了我奇怪的错误
有一个使用布尔运算符的有用搜索,可以from django.db.models import Q # filter using operators '&' or '|'
。
例:
class RestaurantListView(ListView):
def get_queryset(self):
slug = self.kwargs.get("slug")
if slug:
queryset = RestaurantLocation.objects.filter(
Q(category__iexact=slug) |
Q(category__icontains=slug)
)
else:
queryset = RestaurantLocation.objects.all()
return queryset
有关使用查询集的更多信息,请参阅https://docs.djangoproject.com/en/1.11/ref/models/querysets/ https://simpleisbetterthancomplex.com/tutorial/2016/11/28/how-to-filter -querysets-dynamically.html
干杯亨利
在您的视图中,您最多会创建一个Dictionary并将select变量分配给一个属性,然后以这种方式将字典传递给视图:
def index(request):
var1 = Search.objects.latest('search_query').search_query
context = {'property': var1 }
return render(request, 'YOURVIEW', context)
然后在视图中访问字典:
{{ property.your_key}}
在Django App第3部分教程中查看更多信息: https : //docs.djangoproject.com/en/1.11/intro/tutorial03/
我很难理解您要做什么,但是这些都是典型的用例。
from django.shortcuts import render, redirect
import requests
from git_profile.forms import SearchForm
from git_profile.models import Search
def index(request):
var1 = Search.objects.all()
# do something with variable var1
# another example
def index(request, search_query):
# as you can notice I'm expecting the parameter search_query, so make sure that in urls.py you define it properly.
var1 = Search.objects.filter(search_query=search_query)
根据Klaus D.的评论进行编辑:
你也缺少点
def index(request):
var1 = Search.objects.latest('search_query').search_query
# do something with variable var1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.