diff --git a/marathon/models/app.py b/marathon/models/app.py
index <HASH>..<HASH> 100644
--- a/marathon/models/app.py
+++ b/marathon/models/app.py
@@ -37,7 +37,9 @@ class MarathonApp(MarathonResource):
     def __init__(self, cmd=None, constraints=None, container=None, cpus=None, env=None, executor=None,
                  health_checks=None, id=None, instances=None, mem=None, ports=None, tasks=None, uris=None):
         self.cmd = cmd
-        self.constraints = constraints or []
+        self.constraints = [
+            c if isinstance(c, MarathonConstraint) else MarathonConstraint(*c)
+            for c in (constraints or [])]
         self.container = container
         self.cpus = cpus
         self.env = env
@@ -93,4 +95,4 @@ class MarathonApp(MarathonResource):
             'ports': self.ports,
             'tasks': [t.json_encode() for t in self.tasks],
             'uris': self.uris
-        }
\ No newline at end of file
+        }
Bug Fix: Cannot define constraints with a tuple of strings