summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mcrute@gmail.com>2013-04-20 12:38:53 -0400
committerMike Crute <mcrute@gmail.com>2013-04-20 12:38:53 -0400
commit1b2bd5c3fd47515ca8e96b4dce1b9ca9b88b5cb1 (patch)
tree5c3e89a290a50252dcf0e13c47804572f49b360e
parent3a8a5dd687e44f4adb9750decd290d36cf9a1772 (diff)
downloadgreenbox-1b2bd5c3fd47515ca8e96b4dce1b9ca9b88b5cb1.tar.bz2
greenbox-1b2bd5c3fd47515ca8e96b4dce1b9ca9b88b5cb1.tar.xz
greenbox-1b2bd5c3fd47515ca8e96b4dce1b9ca9b88b5cb1.zip
Start with unit conversion
-rw-r--r--recipe/migrations/0002_auto__add_field_unit_grams__add_field_unit_liters.py66
-rw-r--r--recipe/models.py31
2 files changed, 84 insertions, 13 deletions
diff --git a/recipe/migrations/0002_auto__add_field_unit_grams__add_field_unit_liters.py b/recipe/migrations/0002_auto__add_field_unit_grams__add_field_unit_liters.py
new file mode 100644
index 0000000..215c81c
--- /dev/null
+++ b/recipe/migrations/0002_auto__add_field_unit_grams__add_field_unit_liters.py
@@ -0,0 +1,66 @@
1# -*- coding: utf-8 -*-
2import datetime
3from south.db import db
4from south.v2 import SchemaMigration
5from django.db import models
6
7
8class Migration(SchemaMigration):
9
10 def forwards(self, orm):
11 # Adding field 'Unit.grams'
12 db.add_column('recipe_unit', 'grams',
13 self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=10, decimal_places=10, blank=True),
14 keep_default=False)
15
16 # Adding field 'Unit.liters'
17 db.add_column('recipe_unit', 'liters',
18 self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=10, decimal_places=10, blank=True),
19 keep_default=False)
20
21
22 def backwards(self, orm):
23 # Deleting field 'Unit.grams'
24 db.delete_column('recipe_unit', 'grams')
25
26 # Deleting field 'Unit.liters'
27 db.delete_column('recipe_unit', 'liters')
28
29
30 models = {
31 'recipe.ingredient': {
32 'Meta': {'ordering': "('name',)", 'object_name': 'Ingredient'},
33 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
34 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
35 },
36 'recipe.recipe': {
37 'Meta': {'ordering': "('title',)", 'object_name': 'Recipe'},
38 'cook_time': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
39 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
40 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
41 'instructions': ('django.db.models.fields.TextField', [], {}),
42 'oven_temp': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
43 'prep_time': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
44 'servings': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
45 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150'}),
46 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
47 },
48 'recipe.recipeingredient': {
49 'Meta': {'object_name': 'RecipeIngredient'},
50 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
51 'ingredient': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['recipe.Ingredient']"}),
52 'quantity': ('django.db.models.fields.FloatField', [], {}),
53 'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['recipe.Recipe']"}),
54 'units': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['recipe.Unit']"})
55 },
56 'recipe.unit': {
57 'Meta': {'ordering': "('name',)", 'object_name': 'Unit'},
58 'abbreviation': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
59 'grams': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '10', 'decimal_places': '10', 'blank': 'True'}),
60 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
61 'liters': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '10', 'decimal_places': '10', 'blank': 'True'}),
62 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
63 }
64 }
65
66 complete_apps = ['recipe'] \ No newline at end of file
diff --git a/recipe/models.py b/recipe/models.py
index fc611a3..1db7f42 100644
--- a/recipe/models.py
+++ b/recipe/models.py
@@ -1,5 +1,4 @@
1from django.db import models 1from django.db import models
2from django.db.models import fields
3 2
4 3
5class Unit(models.Model): 4class Unit(models.Model):
@@ -7,8 +6,14 @@ class Unit(models.Model):
7 class Meta: 6 class Meta:
8 ordering = ('name',) 7 ordering = ('name',)
9 8
10 name = fields.CharField(max_length=100) 9 name = models.CharField(max_length=100)
11 abbreviation = fields.CharField(max_length=10, blank=True, null=True) 10 abbreviation = models.CharField(max_length=10, blank=True, null=True)
11 grams = models.DecimalField(max_digits=10, decimal_places=10,
12 blank=True, null=True,
13 help_text="Conversion from this unit to grams (dry measure)")
14 liters = models.DecimalField(max_digits=10, decimal_places=10,
15 blank=True, null=True,
16 help_text="Conversion from this unit to liters (liquid measure)")
12 17
13 def __unicode__(self): 18 def __unicode__(self):
14 return "{0} ({1})".format(self.name, self.abbreviation) 19 return "{0} ({1})".format(self.name, self.abbreviation)
@@ -19,14 +24,14 @@ class Recipe(models.Model):
19 class Meta: 24 class Meta:
20 ordering = ('title',) 25 ordering = ('title',)
21 26
22 title = fields.CharField(max_length=100) 27 title = models.CharField(max_length=100)
23 slug = fields.SlugField(max_length=150) 28 slug = models.SlugField(max_length=150)
24 description = fields.TextField(blank=True, null=True) 29 description = models.TextField(blank=True, null=True)
25 servings = fields.IntegerField(blank=True, null=True) 30 servings = models.IntegerField(blank=True, null=True)
26 instructions = fields.TextField() 31 instructions = models.TextField()
27 oven_temp = fields.IntegerField(blank=True, null=True) 32 oven_temp = models.IntegerField(blank=True, null=True)
28 cook_time = fields.IntegerField(blank=True, null=True, help_text="In minutes") 33 cook_time = models.IntegerField(blank=True, null=True, help_text="In minutes")
29 prep_time = fields.IntegerField(blank=True, null=True, help_text="In minutes") 34 prep_time = models.IntegerField(blank=True, null=True, help_text="In minutes")
30 35
31 def __unicode__(self): 36 def __unicode__(self):
32 return self.title 37 return self.title
@@ -37,7 +42,7 @@ class Ingredient(models.Model):
37 class Meta: 42 class Meta:
38 ordering = ('name',) 43 ordering = ('name',)
39 44
40 name = fields.CharField(max_length=100, unique=True) 45 name = models.CharField(max_length=100, unique=True)
41 46
42 def __unicode__(self): 47 def __unicode__(self):
43 return self.name 48 return self.name
@@ -47,7 +52,7 @@ class RecipeIngredient(models.Model):
47 52
48 ingredient = models.ForeignKey(Ingredient) 53 ingredient = models.ForeignKey(Ingredient)
49 units = models.ForeignKey(Unit) 54 units = models.ForeignKey(Unit)
50 quantity = fields.FloatField() 55 quantity = models.FloatField()
51 recipe = models.ForeignKey(Recipe) 56 recipe = models.ForeignKey(Recipe)
52 57
53 def __unicode__(self): 58 def __unicode__(self):