=== t/TestApp-DatabaseBackedModels/lib/TestApp/DatabaseBackedModels/Bootstrap.pm
==================================================================
--- t/TestApp-DatabaseBackedModels/lib/TestApp/DatabaseBackedModels/Bootstrap.pm	(revision 14041)
+++ t/TestApp-DatabaseBackedModels/lib/TestApp/DatabaseBackedModels/Bootstrap.pm	(local)
@@ -5,16 +5,33 @@
 
 sub run { 
     my $user = TestApp::DatabaseBackedModels::CurrentUser->new( _bootstrap => 1);
-    my $modelclass = Jifty::Model::ModelClass->new(current_user => $user);
-    $modelclass->create( name => 'Widget');
 
-    my $col = Jifty::Model::ModelClassColumn->new(current_user => $user);
-    $col->create( name => 'name', label_text => 'Name', storage_type => 'text', hints => 'This is the widget name', model_class => $modelclass);
-       my $col2 = Jifty::Model::ModelClassColumn->new(current_user => $user);
-    $col2->create( name => 'inventory', label_text => 'Inventory', storage_type => 'int', hints => 'How many do we have on hand?', model_class => $modelclass);
+    my $warehouse_model = Jifty::Model::ModelClass->new(current_user => $user);
+    $warehouse_model->create( name => 'Warehouse' );
 
+    my $location_col = Jifty::Model::ModelClassColumn->new(current_user => $user);
+    $location_col->create( name => 'location', label_text => 'Location', storage_type => 'text', hints => 'This is the name of this location', model_class => $warehouse_model);
+
+    my $widget_model = Jifty::Model::ModelClass->new(current_user => $user);
+    $widget_model->create( name => 'Widget');
+
+    my $name_col = Jifty::Model::ModelClassColumn->new(current_user => $user);
+    $name_col->create( name => 'name', label_text => 'Name', storage_type => 'text', hints => 'This is the widget name', model_class => $widget_model);
+
+    my $inventory_col = Jifty::Model::ModelClassColumn->new(current_user => $user);
+    $inventory_col->create( name => 'inventory', label_text => 'Inventory', storage_type => 'int', hints => 'How many do we have on hand?', model_class => $widget_model);
+
+    my $warehouse_col = Jifty::Model::ModelClassColumn->new(current_user => $user);
+    $warehouse_col->create( name => 'warehouse', label_text => 'Warehouse', refers_to_class => 'TestApp::DatabaseBackedModel::Warehouse', model_class => $widget_model );
+
+    my $widgets_col = Jifty::Model::ModelClassColumn->new(current_user => $user);
+    $widgets_col->create( name => 'widgets', refers_to_class => 'TestApp::DatabaseBackedModel::Widgets', refers_to_by => 'warehouse', model_class => $warehouse_model );
+
+    my $warehouse = TestApp::DatabaseBackedModels::Model::Warehouse->new(current_user => $user);
+    $warehouse->create(location => 'Manhattan');
+
     my $widget = TestApp::DatabaseBackedModels::Model::Widget->new(current_user => $user);
-    $widget->create(name => 'Weeble', inventory => 6);
+    $widget->create(name => 'Weeble', inventory => 6, warehouse => $warehouse);
 
 };
 
=== t/TestApp-DatabaseBackedModels/t/bootstrap.t
==================================================================
--- t/TestApp-DatabaseBackedModels/t/bootstrap.t	(revision 14041)
+++ t/TestApp-DatabaseBackedModels/t/bootstrap.t	(local)
@@ -12,7 +12,7 @@
 use lib 't/lib';
 use Jifty::SubTest;
 
-use Jifty::Test tests => 11;
+use Jifty::Test tests => 25;
 
 ok(1, "Loaded the test script");
 
@@ -26,6 +26,8 @@
 can_ok($object, 'create');
 can_ok($object, 'name');
 can_ok($object, 'set_name');
+can_ok($object, 'warehouse');
+can_ok($object, 'set_warehouse');
 
 my $id = $object->create( name => 'Widget');
 ok($id, "Created id ".$id);
@@ -35,5 +37,28 @@
 $object_clone->load($id);
 is($object_clone->name, 'Widget');
 
+my $warehouse = TestApp::DatabaseBackedModels::Model::Warehouse->new(current_user => $u);
+isa_ok($warehouse, 'TestApp::DatabaseBackedModels::Model::Warehouse');
+isa_ok($warehouse, 'TestApp::DatabaseBackedModels::Record');
+can_ok($warehouse, 'id');
+can_ok($warehouse, 'location');
+can_ok($warehouse, 'set_location');
+can_ok($warehouse, 'widgets');
+
+$warehouse->load_by_cols( location => 'Manhattan' );
+ok($warehouse->id);
+is($warehouse->location, 'Manhattan');
+
+my $widgets = $warehouse->widgets;
+isa_ok($widgets, 'TestApp::DatabaseBackedModels::Model::WidgetCollection');
+my $widget = $widgets->next;
+ok($widget->id);
+is($widget->name, 'Weeble');
+is($widget->inventory, 6);
+is($widget->warehouse->id, $warehouse->id);
+
+$widget = $widgets->next;
+ok(!$widget->id);
+
 1;
 
