Initial commit
This commit is contained in:
commit
d5c605e4ad
22 changed files with 1372 additions and 0 deletions
62
redditors/models.py
Normal file
62
redditors/models.py
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
from datetime import datetime, timedelta
|
||||
from django.contrib.gis.db import models
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
class LocationCategory(models.Model):
|
||||
"""
|
||||
Table/class to hold categories for locations to fall under. Let this
|
||||
be fairly agnostic of everything.
|
||||
"""
|
||||
name = models.CharField(max_length = 200)
|
||||
|
||||
def __str__(self):
|
||||
return "%s" % str(self.name)
|
||||
|
||||
class Location(models.Model):
|
||||
"""
|
||||
Locations, yo. Street Address is optional, don't make the user
|
||||
have to fuck with something they don't know offhand unless they care.
|
||||
|
||||
Category is self explanatory, geometry is a GeoDjango model type to handle
|
||||
storing lat/long coordinates for distance equations.
|
||||
"""
|
||||
name = models.CharField(max_length=200)
|
||||
street_address = models.CharField(max_length=200, blank=True)
|
||||
category = models.ForeignKey(LocationCategory, blank=True, null=True)
|
||||
geometry = models.PointField(srid=4326)
|
||||
objects = models.GeoManager()
|
||||
|
||||
def __str__(self):
|
||||
return "%s" % str(self.name)
|
||||
|
||||
def get_recent_checkins_count(self):
|
||||
"""
|
||||
Tally up how many checkins this location had in the past day.
|
||||
"""
|
||||
print self.checkin_set.filter(timestamp__gte = datetime.now() + timedelta(days=-1))
|
||||
return self.checkin_set.filter(timestamp__gte = datetime.now() + timedelta(days=-1)).count()
|
||||
|
||||
def address_for_geocode(self):
|
||||
return self.street_address.replace(" ", "+")
|
||||
|
||||
class Checkin(models.Model):
|
||||
"""
|
||||
Checkin model - pretty self explanatory all around.
|
||||
"""
|
||||
user = models.ForeignKey(User)
|
||||
location = models.ForeignKey(Location)
|
||||
timestamp = models.DateTimeField(auto_now=True)
|
||||
estimated_time_here = models.CharField(max_length=200, blank=True, null=True)
|
||||
identify_by = models.CharField(max_length=200, blank=True, null=True)
|
||||
|
||||
class Tip(models.Model):
|
||||
"""
|
||||
Tips - again, fairly self explanatory.
|
||||
"""
|
||||
tip = models.TextField(blank=False)
|
||||
user = models.ForeignKey(User)
|
||||
timestamp = models.DateTimeField(auto_now=True)
|
||||
location = models.ForeignKey(Location)
|
||||
|
||||
def __str__(self):
|
||||
return "%s" % str(self.title)
|
||||
Reference in a new issue