Index: src/django_gheat/gheat/admin.py
===================================================================
--- src/django_gheat/gheat/admin.py	(revision 9041)
+++ src/django_gheat/gheat/admin.py	(revision 9041)
@@ -0,0 +1,4 @@
+from gheat.models import Accespoint, Meting, Gebruiker
+from django.contrib import admin
+
+admin.site.register(Gebruiker)
Index: src/django_gheat/gheat/base.py
===================================================================
--- src/django_gheat/gheat/base.py	(revision 9039)
+++ src/django_gheat/gheat/base.py	(revision 9041)
@@ -1,3 +1,2 @@
-import settings
 import datetime
 import os
Index: src/django_gheat/gheat/foo.py
===================================================================
--- src/django_gheat/gheat/foo.py	(revision 9041)
+++ src/django_gheat/gheat/foo.py	(revision 9041)
@@ -0,0 +1,10 @@
+#!/usr/bin/env python
+from django.core.management import setup_environ
+import settings
+setup_environ(settings)
+import datetime
+from gheat.models import *
+
+m = MeetRondje(naam='testrondje')
+m.save()
+p.id
Index: src/django_gheat/gheat/models.py
===================================================================
--- src/django_gheat/gheat/models.py	(revision 9039)
+++ src/django_gheat/gheat/models.py	(revision 9041)
@@ -2,5 +2,4 @@
 from gheat import managers
 import datetime
-
 
 class Accespoint(models.Model):
@@ -9,21 +8,31 @@
 	encryptie = models.BooleanField()
 	def __unicode__(self):
-		return (self.mac, self.ssid)
-
+		return "%s - %s" % (self.mac, self.ssid)
 
 class Gebruiker(models.Model):
-	gebruiker = models.CharField(max_length=64)
-	apparatuur = models.CharField(max_length=64)
+	naam = models.CharField(max_length=64)
+	email = models.CharField(max_length=64)
 	def __unicode__(self):
-		return (self.gebruiker, self.apparatuur)
+		return "%s - %s" % (self.naam, self.email)
 
+class Apparatuur(models.Model):
+        antenne = models.CharField(max_length=64)
+        kaart = models.CharField(max_length=64)
+	def __unicode__(self):
+		return "%s - %s" % (self.antenne, self.kaart)
+
+class MeetRondje(models.Model):
+        datum = models.DateTimeField()
+        naam = models.CharField(max_length=60)
+        gebruiker = models.ForeignKey(Gebruiker)
+        apparatuur = models.ForeignKey(Apparatuur)
+        def __unicode__(self):
+                return "%s - %s" % (self.naam)
 
 class Meting(models.Model):
+        meetrondje = models.ForeignKey(MeetRondje)
 	accespoint = models.ForeignKey(Accespoint)
-	gebruiker = models.ForeignKey(Gebruiker)
 	latitude = models.FloatField(name='Latitude', db_column='lat')
 	longitude = models.FloatField(name='Longitude', db_column='lng')
 	signaal = models.IntegerField(max_length=3)
-	datum = models.DateTimeField()
-
 	objects = managers.MetingManager()
Index: src/django_gheat/gheat/settings.py
===================================================================
--- src/django_gheat/gheat/settings.py	(revision 9041)
+++ src/django_gheat/gheat/settings.py	(revision 9041)
@@ -0,0 +1,99 @@
+# Django settings for persisted project.
+
+import os
+PROJECT_HOME = os.path.dirname(__file__)
+
+DEBUG = True
+TEMPLATE_DEBUG = DEBUG
+
+ADMINS = (
+    # ('Your Name', 'your_email@domain.com'),
+)
+
+MANAGERS = ADMINS
+
+DATABASES = {
+    'default': {
+        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
+        'NAME': 'project_heatmap',                      # Or path to database file if using sqlite3.
+        'USER': 'root',                      # Not used with sqlite3.
+        'PASSWORD': 'password',                  # Not used with sqlite3.
+        'HOST': 'localhost',                      # Set to empty string for localhost. Not used with sqlite3.
+        'PORT': '3306',                      # Set to empty string for default. Not used with sqlite3.
+    }
+}
+
+# Local time zone for this installation. Choices can be found here:
+# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
+# although not all choices may be available on all operating systems.
+# If running in a Windows environment this must be set to the same as your
+# system time zone.
+TIME_ZONE = 'America/Chicago'
+
+# Language code for this installation. All choices can be found here:
+# http://www.i18nguy.com/unicode/language-identifiers.html
+LANGUAGE_CODE = 'en-us'
+
+SITE_ID = 1
+
+# If you set this to False, Django will make some optimizations so as not
+# to load the internationalization machinery.
+USE_I18N = True
+
+# Absolute path to the directory that holds media.
+# Example: "/home/media/media.lawrence.com/"
+MEDIA_ROOT = ''
+
+# URL that handles the media served from MEDIA_ROOT. Make sure to use a
+# trailing slash if there is a path component (optional in other cases).
+# Examples: "http://media.lawrence.com", "http://example.com/media/"
+MEDIA_URL = ''
+
+# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
+# trailing slash.
+# Examples: "http://foo.com/media/", "/media/".
+ADMIN_MEDIA_PREFIX = '/media/'
+
+# Make this unique, and don't share it with anybody.
+SECRET_KEY = '=wg@x19kr@26sibiaynb9ax5ddp1&yu^+$3n++^_lz1ms80syb'
+
+# List of callables that know how to import templates from various sources.
+TEMPLATE_LOADERS = (
+    'django.template.loaders.filesystem.load_template_source',
+    'django.template.loaders.app_directories.load_template_source',
+#     'django.template.loaders.eggs.load_template_source',
+)
+
+MIDDLEWARE_CLASSES = (
+    'django.middleware.common.CommonMiddleware',
+    'django.contrib.sessions.middleware.SessionMiddleware',
+    'django.contrib.auth.middleware.AuthenticationMiddleware',
+)
+
+ROOT_URLCONF = 'persisted.urls'
+
+TEMPLATE_DIRS = (
+    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
+    # Always use forward slashes, even on Windows.
+    # Don't forget toABQIAAAA6NuvWGazX80RVrkSkvrUXBQuY05VDPolZO1YI32txJLc5t1HWBRafKMBWIXOpS9wazP_0ErZiNd8_g use absolute paths, not relative paths.
+    os.path.join(PROJECT_HOME, 'templates'),
+    
+)
+
+INSTALLED_APPS = (
+    'django.contrib.auth',
+    'django.contrib.contenttypes',
+    'django.contrib.sessions',
+    'django.contrib.sites',
+    'gheat',
+    'django_extensions',
+    'home',
+    'django.contrib.admin',
+)
+
+#GOOGLE_MAPS_KEY = 'ABQIAAAA2icoFs7d_hisx8EBdZy-mxQF3fr7joqA35-x6JbT4Kx-pk-_6xRkPVambEqUO33n_8g9KWVaLKq8UA' # localhost
+#GOOGLE_MAPS_KEY = 'ABQIAAAAnfs7bKE82qgb3Zc2YyS-oBT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSySz_REpPq-4WZA27OwgbtyR3VcA' # external ip
+GOOGLE_MAPS_KEY = 'ABQIAAAA6NuvWGazX80RVrkSkvrUXBTpH3CbXHjuCVmaTc5MkkU4wO1RRhSZXiYEMqjgwJ9gi_PC8AA-dDGz6g' # 127.0.0.1:8000
+
+
+
Index: src/django_gheat/gheat/views.py
===================================================================
--- src/django_gheat/gheat/views.py	(revision 9039)
+++ src/django_gheat/gheat/views.py	(revision 9041)
@@ -27,5 +27,5 @@
         x = int(x)
         y = int(y)
-        assert 0 <= zoom <= 30, "bad zoom: %d" % zoom
+        assert 0 <= zoom <= 17, "bad zoom: %d" % zoom
     except AssertionError, err:
         return HttpResponseBadRequest()
