Factor the models to prepare for new ones related to the radio version

Other notable improvements:
  - Define the default values to be able to use the built-in convenience method
    `get_or_create`;
  - Use the F helper to *atomically* increment the counters; the current method
    could run into race conditions and miss increments.

The models remain functionally the same - also, their title is left unchanged to
not break compatibility and avoid a migration.

Change-Id: Iad86302d869705867efadf8cfd2e661dac1ff4f9
diff --git a/crashreport_stats/migrations/0002_version_and_versiondaily_with_defaults.py b/crashreport_stats/migrations/0002_version_and_versiondaily_with_defaults.py
new file mode 100644
index 0000000..0a58758
--- /dev/null
+++ b/crashreport_stats/migrations/0002_version_and_versiondaily_with_defaults.py
@@ -0,0 +1,72 @@
+# -*- coding: utf-8 -*-
+#
+# Set the default values for the Version and VersionDaily models.
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('crashreport_stats', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='version',
+            name='first_seen_on',
+            field=models.DateField(auto_now_add=True),
+        ),
+        migrations.AlterField(
+            model_name='version',
+            name='heartbeats',
+            field=models.IntegerField(default=0),
+        ),
+        migrations.AlterField(
+            model_name='version',
+            name='other',
+            field=models.IntegerField(default=0),
+        ),
+        migrations.AlterField(
+            model_name='version',
+            name='prob_crashes',
+            field=models.IntegerField(default=0),
+        ),
+        migrations.AlterField(
+            model_name='version',
+            name='released_on',
+            field=models.DateField(auto_now_add=True),
+        ),
+        migrations.AlterField(
+            model_name='version',
+            name='smpl',
+            field=models.IntegerField(default=0),
+        ),
+        migrations.AlterField(
+            model_name='versiondaily',
+            name='date',
+            field=models.DateField(auto_now_add=True),
+        ),
+        migrations.AlterField(
+            model_name='versiondaily',
+            name='heartbeats',
+            field=models.IntegerField(default=0),
+        ),
+        migrations.AlterField(
+            model_name='versiondaily',
+            name='other',
+            field=models.IntegerField(default=0),
+        ),
+        migrations.AlterField(
+            model_name='versiondaily',
+            name='prob_crashes',
+            field=models.IntegerField(default=0),
+        ),
+        migrations.AlterField(
+            model_name='versiondaily',
+            name='smpl',
+            field=models.IntegerField(default=0),
+        ),
+    ]