1 from django
.db
import models
2 from django
.template
.defaultfilters
import slugify
4 class City(models
.Model
):
5 name
= models
.CharField(max_length
=20)
6 slug
= models
.SlugField(max_length
=20, editable
=False)
8 def save(self
, **kwargs
):
9 self
.slug
= slugify(self
.name
)
10 super(City
, self
).save(**kwargs
)
12 def absolute_url_for(self
):
13 return '/listing/%s' % self
.slug
15 class Location(models
.Model
):
16 name
= models
.CharField(max_length
=20)
17 slug
= models
.SlugField(max_length
=20, editable
=False)
18 city
= models
.ForeignKey(City
)
20 def absolute_url_for(self
):
21 return '/listing/%s/%s' % (self
.city
.slug
, self
.slug
)
23 class Listing(models
.Model
):
24 title
= models
.CharField("Title", max_length
=250)
25 description
= models
.TextField('Description')
26 available
= models
.DateField('Date Available')
27 created
= models
.DateTimeField('DateTime Created', auto_now_add
=True)
28 updated
= models
.DateTimeField('DateTime Last Updated', auto_now
=True)
29 city
= models
.ForeignKey(City
)
30 location
= models
.ForeignKey(Location
)
32 def absolute_url_for(self
):
33 return '/listing/db/%s' % self
.id