0
我是django新手,我做了很多教程,通常我都是通過示例學習的。這是我的models.py文件。所以,我做了一個查詢集,但是如何製作一個視圖文件?如何爲查詢集創建視圖文件?
我需要views.py文件部分的querysets用於過濾數據。但我不知道跳躍在視圖中。
最簡單的方法是什麼?我需要爲它創建一個forms.py文件嗎?
所以,也許你知道該怎麼做?
from django.db import models
import datetime
class PeopleQuerySet(models.query.QuerySet):
def active(self):
return self.filter(active=True)
def get_sex(self, sex):
return self.filter(sex=sex)
def get_age(self, year1, year2):
return self.filter(year__range=(year1, year2))
def get_city(self, city):
return self.filter(city=city)
class PeopleManager(models.Manager):
def get_queryset(self):
return PeopleQuerySet(self.model, using=self._db)
def active(self):
return self.get_queryset().active()
def get_sex(self, sex):
return self.get_queryset().get_sex(sex)
def get_age(self):
return self.get_queryset.get_age(year1, year2)
def get_city(self):
return self.get_queryset().get_city(city)
class People(models.Model):
SEX_CHOICES = (
('M', 'Vyras'),
('F', 'Moteris'),
)
CITY_CHOICES = (
('Kaunas', 'Kaunas'),
('Klaipeda', 'Klaipeda'),
('Vilnius', 'Vilnius'),
)
YEAR_CHOICES = []
for y in range(16, 100):
YEAR_CHOICES.append((y, y))
name = models.CharField(max_length=111)
sex = models.CharField(max_length=1, choices=SEX_CHOICES)
year = models.IntegerField(('year'), max_length=4, choices=YEAR_CHOICES, default=16)
city = models.CharField(max_length=111, choices=CITY_CHOICES)
email = models.EmailField()
phone = models.CharField(max_length=11)
slug = models.SlugField()
active = models.BooleanField(default=True)
updated = models.DateTimeField(auto_now=True, auto_now_add=False)
objects = PeopleManager()
def __unicode__(self):
return self.name
你試過了什麼?並把你得到的錯誤。 – Ahsan
我更新了問題。查詢集需要views.py部分。 – user3748281