generated from mwc/project_banjo_app
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
from banjo.models import (
|
|
Model,
|
|
StringField,
|
|
IntegerField,
|
|
FloatField,
|
|
ForeignKey,
|
|
)
|
|
from django.db.models import DateTimeField
|
|
|
|
class Recipe(Model):
|
|
name = StringField()
|
|
url = StringField()
|
|
|
|
def to_dict(self):
|
|
return {
|
|
"name": self.name,
|
|
"ingredients": [ing.text for ing in self.ingredients.all()],
|
|
"instructions": [step.text for step in self.steps.order_by("order")],
|
|
"notes": [n.to_dict() for n in self.notes.order_by("creation")],
|
|
}
|
|
|
|
class Ingredient(Model):
|
|
text = StringField()
|
|
recipe = ForeignKey("Recipe", related_name="ingredients")
|
|
|
|
class Step(Model):
|
|
recipe = ForeignKey("Recipe", related_name="steps")
|
|
text = StringField()
|
|
order = IntegerField()
|
|
|
|
class Note(Model):
|
|
recipe = ForeignKey("Recipe", related_name="notes")
|
|
creation=DateTimeField(auto_now_add=True)
|
|
text=StringField()
|
|
|
|
def to_dict(self):
|
|
return {
|
|
"date": self.creation.strftime("%A %B %-d, %Y %I:%M %p"),
|
|
"note": self.text,
|
|
}
|
|
|