from _connection import *

class Food(SQLObject):
    name = StringCol()
    brand = StringCol(default=None)
    categories = NewRelatedJoin("Category")

class Category(SQLObject):
    name = StringCol()
    foods = NewRelatedJoin("Food", orderBy='name')

def start():
    category = Category(name='category 1')
    for name in ('apple', 'orange', 'lemon'):
        fruit = Food(name=name, brand='fruit')
        category.addFood(fruit)
    for name in ('onion', 'potato'):
        vegetable = Food(name=name, brand='vegetable')
        category.addFood(vegetable)

def query():
    category = Category.get(1)
    print category.foods
    for food in category.foods:
        print food
    foods = category.foods.filter(Food.q.brand=='fruit')
    print foods
    for food in foods:
        print food

if __name__=='__main__':
    query()
