簡體   English   中英

如何從views.py文件查詢Django模型?

[英]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(v‌​‌​ar1))) content = dict() content['user'] = user_profile.json()替換python user_profile = requests.get('https://api.github.com/users/{0}'.format(str(v‌​‌​ar1))) 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM