summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mcrute@gmail.com>2010-12-30 01:07:57 -0500
committerMike Crute <mcrute@gmail.com>2010-12-30 01:07:57 -0500
commit5fd79049673e5cd27dc2de828cf7c6d2560aea1f (patch)
treeabda560aac56d75e682fb5c449c2b7989dc5e4c5
parentdeb2f6420e4f44f6d5d731abbd3340c258a0cc52 (diff)
downloadgreenbox-5fd79049673e5cd27dc2de828cf7c6d2560aea1f.tar.bz2
greenbox-5fd79049673e5cd27dc2de828cf7c6d2560aea1f.tar.xz
greenbox-5fd79049673e5cd27dc2de828cf7c6d2560aea1f.zip
Cleaning up model imports and adding slug field
-rw-r--r--greenbox/recipe/models.py47
1 files changed, 23 insertions, 24 deletions
diff --git a/greenbox/recipe/models.py b/greenbox/recipe/models.py
index b4925cd..8463447 100644
--- a/greenbox/recipe/models.py
+++ b/greenbox/recipe/models.py
@@ -1,9 +1,6 @@
1from django.contrib import admin
2from django.contrib.admin import sites as admin_sites
3from django.contrib.admin import ModelAdmin, TabularInline
4from django.db import models 1from django.db import models
5from django.db.models import CharField, IntegerField, TextField, FloatField 2from django.contrib import admin
6from django.db.models import ForeignKey 3from django.db.models import fields
7 4
8 5
9class Unit(models.Model): 6class Unit(models.Model):
@@ -11,8 +8,8 @@ class Unit(models.Model):
11 class Meta: 8 class Meta:
12 ordering = ('name',) 9 ordering = ('name',)
13 10
14 name = CharField(max_length=100) 11 name = fields.CharField(max_length=100)
15 abbreviation = CharField(max_length=10, blank=True, null=True) 12 abbreviation = fields.CharField(max_length=10, blank=True, null=True)
16 13
17 def __unicode__(self): 14 def __unicode__(self):
18 return "{0} ({1})".format(self.name, self.abbreviation) 15 return "{0} ({1})".format(self.name, self.abbreviation)
@@ -23,13 +20,14 @@ class Recipe(models.Model):
23 class Meta: 20 class Meta:
24 ordering = ('title',) 21 ordering = ('title',)
25 22
26 title = CharField(max_length=100) 23 title = fields.CharField(max_length=100)
27 description = TextField(blank=True, null=True) 24 slug = fields.SlugField(max_length=150)
28 servings = IntegerField(blank=True, null=True) 25 description = fields.TextField(blank=True, null=True)
29 instructions = TextField() 26 servings = fields.IntegerField(blank=True, null=True)
30 oven_temp = IntegerField(blank=True, null=True) 27 instructions = fields.TextField()
31 cook_time = IntegerField(blank=True, null=True) 28 oven_temp = fields.IntegerField(blank=True, null=True)
32 prep_time = IntegerField(blank=True, null=True) 29 cook_time = fields.IntegerField(blank=True, null=True)
30 prep_time = fields.IntegerField(blank=True, null=True)
33 31
34 32
35 def __unicode__(self): 33 def __unicode__(self):
@@ -41,7 +39,7 @@ class Ingredient(models.Model):
41 class Meta: 39 class Meta:
42 ordering = ('name',) 40 ordering = ('name',)
43 41
44 name = CharField(max_length=100, unique=True) 42 name = fields.CharField(max_length=100, unique=True)
45 43
46 def __unicode__(self): 44 def __unicode__(self):
47 return self.name 45 return self.name
@@ -49,35 +47,36 @@ class Ingredient(models.Model):
49 47
50class RecipeIngredient(models.Model): 48class RecipeIngredient(models.Model):
51 49
52 ingredient = ForeignKey(Ingredient) 50 ingredient = models.ForeignKey(Ingredient)
53 units = ForeignKey(Unit) 51 units = models.ForeignKey(Unit)
54 quantity = FloatField() 52 quantity = fields.FloatField()
55 recipe = ForeignKey(Recipe) 53 recipe = models.ForeignKey(Recipe)
56 54
57 def __unicode__(self): 55 def __unicode__(self):
58 return "{0} in {1}".format(self.ingredient.name, self.recipe.title) 56 return "{0} in {1}".format(self.ingredient.name, self.recipe.title)
59 57
60 58
61class UnitAdmin(ModelAdmin): 59class UnitAdmin(admin.ModelAdmin):
62 60
63 list_display = ('name', 'abbreviation') 61 list_display = ('name', 'abbreviation')
64 ordering = ('name',) 62 ordering = ('name',)
65 63
66 64
67class IngredientInline(TabularInline): 65class IngredientInline(admin.TabularInline):
68 66
69 model = RecipeIngredient 67 model = RecipeIngredient
70 extra = 12 68 extra = 12
71 69
72 70
73class RecipeAdmin(ModelAdmin): 71class RecipeAdmin(admin.ModelAdmin):
74 72
75 list_display = ('title',) 73 list_display = ('title',)
76 inlines = (IngredientInline,) 74 inlines = (IngredientInline,)
77 search_fields = ('title',) 75 search_fields = ('title',)
76 prepopulated_fields = { "slug": ("title",) }
78 77
79 78
80class IngredientAdmin(ModelAdmin): 79class IngredientAdmin(admin.ModelAdmin):
81 80
82 list_display = ('name',) 81 list_display = ('name',)
83 search_fields = ('name',) 82 search_fields = ('name',)
@@ -87,5 +86,5 @@ try:
87 admin.site.register(Unit, UnitAdmin) 86 admin.site.register(Unit, UnitAdmin)
88 admin.site.register(Ingredient, IngredientAdmin) 87 admin.site.register(Ingredient, IngredientAdmin)
89 admin.site.register(Recipe, RecipeAdmin) 88 admin.site.register(Recipe, RecipeAdmin)
90except admin_sites.AlreadyRegistered: 89except admin.sites.AlreadyRegistered:
91 pass 90 pass