diff --git a/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/database.py b/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/database.py
index 3a8883d099175c215e0bbc0e9aa99519bab21586..e183940e538ce61e87d820cb07cba22f3b548dc4 100644
--- a/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/database.py
+++ b/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/database.py
@@ -62,7 +62,7 @@ class SurrogatePK(object):
         return None
 
 
-def reference_col(tablename, nullable=False, pk_name='id', **kwargs):
+def reference_col(tablename, nullable=False, pk_name='id', foreign_key_kwargs=None, column_kwargs=None):
     """Column that adds primary key foreign key reference.
 
     Usage: ::
@@ -70,6 +70,9 @@ def reference_col(tablename, nullable=False, pk_name='id', **kwargs):
         category_id = reference_col('category')
         category = relationship('Category', backref='categories')
     """
+    foreign_key_kwargs = foreign_key_kwargs or {}
+    column_kwargs = column_kwargs or {}
+
     return Column(
-        db.ForeignKey('{0}.{1}'.format(tablename, pk_name)),
-        nullable=nullable, **kwargs)
+        db.ForeignKey('{0}.{1}'.format(tablename, pk_name), **foreign_key_kwargs),
+        nullable=nullable, **column_kwargs)