from haystack import indexes
from .models import Post
from django.utils import timezone
class PostIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
title = indexes.CharField(model_attr='title')
content = indexes.CharField(model_attr='content')
def get_model(self):
return Post
def index_queryset(self, using=None):
"""Used when the entire index for model is updated."""
return self.get_model().objects.filter(datetime__lte=timezone.now())
def rate_partner(self, partner_code):
exchange_rate = ExchangeRates.objects.filter(partner__code=partner_code).latest('date_created')
return exchange_rate.rate
def pricing_policy(self, product, stockrecord):
# Check stockrecord has the appropriate data
if not stockrecord or stockrecord.price_excl_tax is None:
return prices.Unavailable()
return prices.FixedPrice(
currency=stockrecord.price_currency,
excl_tax=stockrecord.price_excl_tax*self.rate_partner('my_partner'),
tax=D('0.00'))
from django.db.models import Q
queryset = Flat.objects.filter(
Q(price_currency='RUB', price__lte=price_max, price__gte=price_min) |
Q(price_currency='USD', price__lte=price_max*rate_usd, price__gte=price_min*rate_usd) |
Q(price_currency='EUR', price__lte=price_max*rate_eur, price__gte=price_min*rate_eur)
)
class UniversityListView(ListView):
...
def get_queryset(self):
university = University.objects.filter(city='London')
return university
class University(models.Model):
...
city = models.ForeignKey('City')
...
class UniversityListView(ListView):
...
def get_queryset(self):
city = City.objects.get(name='London')
university = University.objects.filter(city=city)
return university
class Gallery(models.Model):
item = models.CharField(max_length=50)
class Meta:
verbose_name = u"Галерея"
verbose_name_plural = u"Галереи"
def __unicode__(self):
return self.title
def first_photo_url(self):
return self.photo_set.first().image.url
{{ gallerys.first_photo_url }}