Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.db.models import Q
- from django.db import models
- class TripManager(models.Manager):
- def search(self, query=None):
- qs = self.get_queryset()
- if query is not None:
- or_lookup = (Q(destination__icontains=query) |
- Q(details__icontains=query)
- )
- qs = qs.filter(or_lookup).distinct()
- return qs
- class Trip(models.Model):
- user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, default=None, null=False, blank=False)
- start_date = models.DateTimeField()
- end_date = models.DateTimeField()
- destination = models.CharField(choices=CITIZENSHIP_CHOICE, max_length=30)
- details = models.TextField()
- objects = TripManager()
- def __str__(self):
- return self.destination
- class Meta:
- ordering = ('start_date',)
- def get_absolute_url(self):
- return reverse('profile_traveler', kwargs={'userid': self.user.id})
- @property
- def get_html_url(self):
- url = reverse('app_main:trip_edit', args=(self.id,))
- return f'<a href="{url}">{self.user} in {self.destination}</a>'
- @property
- def get_detail_url(self):
- url = reverse('app_main:trip_detail', args=(self.id,))
- return f'<a href="{url}">{self.user} in {self.destination}</a>'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement