From 5d1529c161672dc86bdbb5b3a526e8d7724e5620 Mon Sep 17 00:00:00 2001 From: Brandon Taylor Date: Mon, 19 Mar 2018 21:18:08 -0400 Subject: [PATCH] Updated migrations to allow for a model with a non autofield as the primary key. Updated tests. --- sample_project/database/test_project.sqlite | Bin 266240 -> 278528 bytes .../migrations/0002_auto_20180319_2117.py | 29 ++++++++++++++++++ sample_project/samples/models.py | 11 +++++++ sample_project/samples/tests.py | 23 +------------- 4 files changed, 41 insertions(+), 22 deletions(-) create mode 100644 sample_project/samples/migrations/0002_auto_20180319_2117.py diff --git a/sample_project/database/test_project.sqlite b/sample_project/database/test_project.sqlite index 4efba758bf0d59a933fba9dd73468ca00d35622b..d439e4aa7e01445f09b8dc591f1317907df46d85 100644 GIT binary patch delta 1610 zcmaJ=Z%i9y7{BLzuRRL8JIZ9&rNbQ+A{ZEV?W71onFCtl1{m1~P;xEYfkoQRavS2N zgT*Xch(>c+F8eaa=C(MUFzR-?$prUBjm|C6s4;O%{9w>5Q@{AdMBkP_iLUD<_vY?> zpXc{`p6B;_Cr%VjOgP_gJBKNXY9a6HlYFzv2g4V_NBN>1WKVdUEX8h?tVIP!45siQ zRB$9E7xond8jEa{yJ6dCB({4*8wb3B@bPb&^khO!3OHKmAiJ`KrB=D9QD* zzh3rksjc(L-bYiPxtr*`SP}OTSH@p4I8ksiTs`|U|1JA9dy>y%V{9z7O{!%#6+cjd zt6_yl8HniGP$D^wOL!ar^X3P5V`{pZ1rO)QglsIv{$jv2pbkgkLkT4o9ZE*@Xd*sZ zWZc*ihPMs5rW-=Wp_&Ib@pma|+rL_mu8r#PL_FR3U{o7XV+mCoaizX*tU@I1qQNxRAoe0@u*};)%@69{lp`jIA1Y6TJC2MYIIb`5D()N8qf}3dw zfGeV^*&*82)9^3|D=cGCbx6}&GkdAmddBwR5Z7%mH>T`dnCs=bQ_k?mta-Z=(VQz} z!vL;eW^GFi{&aj2J7L^p!m!y+--dDWT@{A?^^+ZSjNtdf!3I6jPi(Vno;6VwB{8CA z-7GV2&S7EQiujp0bMY)1g-Yx5^QaH3_GV~=eA^Z3E1|Ly4(>B&=5VRmq{2zFdc=~JcYJ0hl}K?TDpn_Fb}_nuEA60j`L`z_0}{}zPO z!|{ln9ik^Evq!A(WXL_0lYwWYly0zw7-%SK5wN_$`qRy`k~C;(`y%EL1VGN)tD1qk#inzKeK?l=EAgS(GvQb F{};ye6RH3J delta 884 zcmZuvT}V_x6uxKXuCu#(_wKIgwY1Vw$ynPJ4RZ5mjW!c9Hz>#;+-tjvH7ai)sY&Eg`%`4rqOr;(Sf)Wy~hp2oAiIARp3cA;j5Sn2Q%r|GwH{Um>wbjzv zWo}Eg)G-WGrmocyxMjlO~mBn7Wp~uEf?eUa+zZnmzHF~c4!d;O^yDRniHWwQz+;UhVe!omjay~ z!|UaHxg2ca4XZh|;<_Z9`|pYv_Sc7+&tvJ`4lgWAdG^ELmaf`2=>!(%1N|9*#1tV3 zR2JV!F<2j}2{hCz-FEl9+%UAMq@@;7CRH^#{e#Wtkk^Ad5{RpcHg z&sXLm>^6iY;<+K`nZN4gaCO@m>^9X&g?O(l#G>=*>x-tn7C|2^bj$`h=Vuh+d?_qd0?>_#j3%_aRagIaEl5!a|4^uVq^G zdo9@-G)vRBY{#P zR8&Cph*m0vddDzfHDgy=D{iHfjpp^EjFlrzV4-H~9(rv6y@CimFo-It`f16u>Z!_e zUWDU7zxd$e)e+R;MeH^!<6%rorZnzoLNvb1xMVzNsM7BxPvW|D-`NLv3Ef8)<_F_Z jm1ZiQ5q#UoMhXrP<;OTai>Q`qwd{ihsT diff --git a/sample_project/samples/migrations/0002_auto_20180319_2117.py b/sample_project/samples/migrations/0002_auto_20180319_2117.py new file mode 100644 index 0000000..0bf0847 --- /dev/null +++ b/sample_project/samples/migrations/0002_auto_20180319_2117.py @@ -0,0 +1,29 @@ +# Generated by Django 2.0 on 2018-03-20 01:17 + +from django.db import migrations, models +import uuid + + +class Migration(migrations.Migration): + + dependencies = [ + ('samples', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='TestNonAutoFieldModel', + fields=[ + ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), + ('order', models.PositiveIntegerField(db_index=True, editable=False)), + ], + options={ + 'ordering': ['order'], + }, + ), + migrations.AlterField( + model_name='category', + name='order', + field=models.PositiveIntegerField(default=0, editable=False), + ), + ] diff --git a/sample_project/samples/models.py b/sample_project/samples/models.py index 81a56d4..35b2611 100644 --- a/sample_project/samples/models.py +++ b/sample_project/samples/models.py @@ -1,3 +1,5 @@ +import uuid + from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.models import ContentType from django.db import models @@ -249,3 +251,12 @@ class BackwardCompatibleWidget(Sortable, SimpleModel): def __str__(self): return self.title + + +@python_2_unicode_compatible +class TestNonAutoFieldModel(SortableMixin): + id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) + order = models.PositiveIntegerField(editable=False, db_index=True) + + class Meta: + ordering = ['order'] diff --git a/sample_project/samples/tests.py b/sample_project/samples/tests.py index 60715f5..4fb1442 100644 --- a/sample_project/samples/tests.py +++ b/sample_project/samples/tests.py @@ -4,7 +4,6 @@ except ImportError: import http.client as httplib # Python 3 import json -import uuid import django @@ -15,27 +14,7 @@ from django.test.client import Client from adminsortable.models import SortableMixin from adminsortable.utils import get_is_sortable -from .models import Category, Person, Project - - -class TestSortableModel(SortableMixin): - title = models.CharField(max_length=100) - - order = models.PositiveIntegerField(default=0, editable=False) - - class Meta: - ordering = ['order'] - - def __unicode__(self): - return self.title - - -class TestNonAutoFieldModel(SortableMixin): - id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) - order = models.PositiveIntegerField(editable=False, db_index=True) - - class Meta: - ordering = ['order'] +from .models import Category, Person, Project, TestNonAutoFieldModel class SortableTestCase(TestCase):