mirror of
https://github.com/jazzband/django-admin2.git
synced 2026-03-16 22:20:24 +00:00
Fix model migrations
This commit is contained in:
parent
37be02f1c6
commit
829840f411
16 changed files with 162 additions and 100 deletions
|
|
@ -16,19 +16,19 @@ class Migration(migrations.Migration):
|
|||
migrations.CreateModel(
|
||||
name='LogEntry',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')),
|
||||
('action_time', models.DateTimeField(auto_now=True, verbose_name='action time')),
|
||||
('object_id', models.TextField(blank=True, null=True, verbose_name='object id')),
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('action_time', models.DateTimeField(verbose_name='action time', auto_now=True)),
|
||||
('object_id', models.TextField(verbose_name='object id', null=True, blank=True)),
|
||||
('object_repr', models.CharField(max_length=200, verbose_name='object repr')),
|
||||
('action_flag', models.PositiveSmallIntegerField(verbose_name='action flag')),
|
||||
('change_message', models.TextField(blank=True, verbose_name='change message')),
|
||||
('content_type', models.ForeignKey(null=True, related_name='log_entries', to='contenttypes.ContentType', blank=True)),
|
||||
('change_message', models.TextField(verbose_name='change message', blank=True)),
|
||||
('content_type', models.ForeignKey(related_name='log_entries', null=True, blank=True, to='contenttypes.ContentType')),
|
||||
('user', models.ForeignKey(related_name='log_entries', to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
options={
|
||||
'verbose_name_plural': 'log entries',
|
||||
'ordering': ('-action_time',),
|
||||
'verbose_name': 'log entry',
|
||||
'ordering': ('-action_time',),
|
||||
'verbose_name_plural': 'log entries',
|
||||
},
|
||||
),
|
||||
]
|
||||
|
|
|
|||
62
djadmin2/tests/migrations/0001_initial.py
Normal file
62
djadmin2/tests/migrations/0001_initial.py
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='BigThing',
|
||||
fields=[
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='RendererTestModel',
|
||||
fields=[
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('decimal', models.DecimalField(max_digits=10, decimal_places=5)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='SmallThing',
|
||||
fields=[
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='TagsTestsModel',
|
||||
fields=[
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('field1', models.CharField(max_length=23)),
|
||||
('field2', models.CharField(max_length=42, verbose_name='second field')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Tags Test Model',
|
||||
'verbose_name_plural': 'Tags Test Models',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Thing',
|
||||
fields=[
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='UtilsTestModel',
|
||||
fields=[
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('field1', models.CharField(max_length=23)),
|
||||
('field2', models.CharField(max_length=42, verbose_name='second field')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Utils Test Model',
|
||||
'verbose_name_plural': 'Utils Test Models',
|
||||
},
|
||||
),
|
||||
]
|
||||
0
djadmin2/tests/migrations/__init__.py
Normal file
0
djadmin2/tests/migrations/__init__.py
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
from django.db import models
|
||||
|
||||
|
||||
class Thing(models.Model):
|
||||
pass
|
||||
|
||||
|
||||
class SmallThing(models.Model):
|
||||
pass
|
||||
|
||||
|
||||
class BigThing(models.Model):
|
||||
pass
|
||||
|
||||
|
||||
class TagsTestsModel(models.Model):
|
||||
|
||||
field1 = models.CharField(max_length=23)
|
||||
field2 = models.CharField('second field', max_length=42)
|
||||
|
||||
def was_published_recently(self):
|
||||
return True
|
||||
was_published_recently.boolean = True
|
||||
was_published_recently.short_description = 'Published recently?'
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Tags Test Model"
|
||||
verbose_name_plural = "Tags Test Models"
|
||||
|
||||
|
||||
class RendererTestModel(models.Model):
|
||||
decimal = models.DecimalField(decimal_places=5, max_digits=10)
|
||||
|
||||
|
||||
class UtilsTestModel(models.Model):
|
||||
|
||||
field1 = models.CharField(max_length=23)
|
||||
field2 = models.CharField('second field', max_length=42)
|
||||
|
||||
def simple_method(self):
|
||||
return 42
|
||||
|
||||
def was_published_recently(self):
|
||||
return True
|
||||
was_published_recently.boolean = True
|
||||
was_published_recently.short_description = 'Published recently?'
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Utils Test Model"
|
||||
verbose_name_plural = "Utils Test Models"
|
||||
|
|
@ -1,12 +1,8 @@
|
|||
from django.db import models
|
||||
from django.test import TestCase
|
||||
|
||||
from ..core import Admin2
|
||||
from ..actions import get_description
|
||||
|
||||
|
||||
class Thing(models.Model):
|
||||
pass
|
||||
from .models import Thing
|
||||
|
||||
|
||||
class TestAction(object):
|
||||
|
|
|
|||
|
|
@ -1,25 +1,10 @@
|
|||
from django.db import models
|
||||
from django import forms
|
||||
from django.forms.formsets import formset_factory
|
||||
from django.test import TestCase
|
||||
|
||||
from ..templatetags import admin2_tags
|
||||
from ..views import IndexView
|
||||
|
||||
|
||||
class TagsTestsModel(models.Model):
|
||||
|
||||
field1 = models.CharField(max_length=23)
|
||||
field2 = models.CharField('second field', max_length=42)
|
||||
|
||||
def was_published_recently(self):
|
||||
return True
|
||||
was_published_recently.boolean = True
|
||||
was_published_recently.short_description = 'Published recently?'
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Tags Test Model"
|
||||
verbose_name_plural = "Tags Test Models"
|
||||
from .models import TagsTestsModel
|
||||
|
||||
|
||||
class TagsTestForm(forms.Form):
|
||||
|
|
|
|||
|
|
@ -1,17 +1,12 @@
|
|||
from django.db import models
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
from django.test import TestCase
|
||||
from django.contrib.auth.models import Group, User
|
||||
from django.contrib.sites.models import Site
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
from django.test import TestCase
|
||||
|
||||
from djadmin2.site import djadmin2_site
|
||||
from ..types import ModelAdmin2
|
||||
from .models import SmallThing
|
||||
from ..core import Admin2
|
||||
|
||||
|
||||
class SmallThing(models.Model):
|
||||
pass
|
||||
|
||||
from ..types import ModelAdmin2
|
||||
|
||||
APP_LABEL, APP_VERBOSE_NAME = 'app_one_label', 'App One Verbose Name'
|
||||
|
||||
|
|
|
|||
|
|
@ -5,15 +5,11 @@ import datetime as dt
|
|||
from decimal import Decimal
|
||||
|
||||
from django.test import TestCase
|
||||
from django.db import models
|
||||
from django.utils.translation import activate
|
||||
from django.utils import six
|
||||
from django.utils.translation import activate
|
||||
|
||||
from .. import renderers
|
||||
|
||||
|
||||
class RendererTestModel(models.Model):
|
||||
decimal = models.DecimalField(decimal_places=5, max_digits=10)
|
||||
from .models import RendererTestModel
|
||||
|
||||
|
||||
class BooleanRendererTest(TestCase):
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
from django.db import models
|
||||
from django.test import TestCase
|
||||
|
||||
from .. import views
|
||||
from ..types import ModelAdmin2, immutable_admin_factory
|
||||
from ..core import Admin2
|
||||
from .models import BigThing
|
||||
|
||||
|
||||
class ModelAdmin(object):
|
||||
|
|
@ -39,10 +39,6 @@ class ImmutableAdminFactoryTests(TestCase):
|
|||
self.immutable_admin.d
|
||||
|
||||
|
||||
class BigThing(models.Model):
|
||||
pass
|
||||
|
||||
|
||||
class ModelAdminTest(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
|
|
|||
|
|
@ -1,27 +1,9 @@
|
|||
from django.db import models
|
||||
from django.test import TestCase
|
||||
from django.utils import six
|
||||
|
||||
from .. import utils
|
||||
from ..views import IndexView
|
||||
|
||||
|
||||
class UtilsTestModel(models.Model):
|
||||
|
||||
field1 = models.CharField(max_length=23)
|
||||
field2 = models.CharField('second field', max_length=42)
|
||||
|
||||
def simple_method(self):
|
||||
return 42
|
||||
|
||||
def was_published_recently(self):
|
||||
return True
|
||||
was_published_recently.boolean = True
|
||||
was_published_recently.short_description = 'Published recently?'
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Utils Test Model"
|
||||
verbose_name_plural = "Utils Test Models"
|
||||
from .models import UtilsTestModel
|
||||
|
||||
|
||||
class UtilsTest(TestCase):
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
|
@ -14,18 +14,18 @@ class Migration(migrations.Migration):
|
|||
migrations.CreateModel(
|
||||
name='Comment',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')),
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('body', models.TextField(verbose_name='body')),
|
||||
],
|
||||
options={
|
||||
'verbose_name_plural': 'comments',
|
||||
'verbose_name': 'comment',
|
||||
'verbose_name_plural': 'comments',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Count',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')),
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('num', models.PositiveSmallIntegerField()),
|
||||
('parent', models.ForeignKey(to='blog.Count', null=True)),
|
||||
],
|
||||
|
|
@ -33,21 +33,21 @@ class Migration(migrations.Migration):
|
|||
migrations.CreateModel(
|
||||
name='Event',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')),
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('date', models.DateTimeField(auto_now_add=True)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='EventGuide',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')),
|
||||
('event', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='blog.Event')),
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('event', models.ForeignKey(to='blog.Event', on_delete=django.db.models.deletion.DO_NOTHING)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Guest',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')),
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('name', models.CharField(max_length=255)),
|
||||
('event', models.OneToOneField(to='blog.Event')),
|
||||
],
|
||||
|
|
@ -58,27 +58,27 @@ class Migration(migrations.Migration):
|
|||
migrations.CreateModel(
|
||||
name='Location',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')),
|
||||
('event', models.OneToOneField(to='blog.Event', verbose_name='awesome event')),
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('event', models.OneToOneField(verbose_name='awesome event', to='blog.Event')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Post',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')),
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('title', models.CharField(max_length=255, verbose_name='title')),
|
||||
('body', models.TextField(verbose_name='body')),
|
||||
('published', models.BooleanField(default=False, verbose_name='published')),
|
||||
('published', models.BooleanField(verbose_name='published', default=False)),
|
||||
('published_date', models.DateField(blank=True, null=True)),
|
||||
],
|
||||
options={
|
||||
'verbose_name_plural': 'posts',
|
||||
'verbose_name': 'post',
|
||||
'verbose_name_plural': 'posts',
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='comment',
|
||||
name='post',
|
||||
field=models.ForeignKey(to='blog.Post', verbose_name='post', related_name='comments'),
|
||||
field=models.ForeignKey(related_name='comments', verbose_name='post', to='blog.Post'),
|
||||
),
|
||||
]
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -44,6 +44,7 @@ INSTALLED_APPS = [
|
|||
'rest_framework',
|
||||
'crispy_forms',
|
||||
'djadmin2',
|
||||
'djadmin2.tests',
|
||||
'djadmin2.themes.djadmin2theme_default',
|
||||
'blog',
|
||||
'files',
|
||||
|
|
@ -141,7 +142,7 @@ STATICFILES_DIRS = (
|
|||
os.path.join(BASE_DIR, "static"),
|
||||
)
|
||||
|
||||
MEDIA_ROOT = os.path.join(BASE_DIR)
|
||||
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
|
||||
MEDIA_URL = "/media/"
|
||||
|
||||
ADMIN2_THEME_DIRECTORY = "djadmin2theme_default"
|
||||
|
|
@ -13,24 +13,24 @@ class Migration(migrations.Migration):
|
|||
migrations.CreateModel(
|
||||
name='CaptionedFile',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')),
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('caption', models.CharField(max_length=200, verbose_name='caption')),
|
||||
('publication', models.FileField(upload_to='media', verbose_name='Uploaded File')),
|
||||
('publication', models.FileField(verbose_name='Uploaded File', upload_to='captioned-files')),
|
||||
],
|
||||
options={
|
||||
'verbose_name_plural': 'Captioned Files',
|
||||
'verbose_name': 'Captioned File',
|
||||
'verbose_name_plural': 'Captioned Files',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='UncaptionedFile',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')),
|
||||
('publication', models.FileField(upload_to='media', verbose_name='Uploaded File')),
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('publication', models.FileField(verbose_name='Uploaded File', upload_to='uncaptioned-files')),
|
||||
],
|
||||
options={
|
||||
'verbose_name_plural': 'Uncaptioned Files',
|
||||
'verbose_name': 'Uncaptioned File',
|
||||
'verbose_name_plural': 'Uncaptioned Files',
|
||||
},
|
||||
),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -13,30 +13,30 @@ class Migration(migrations.Migration):
|
|||
migrations.CreateModel(
|
||||
name='Choice',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')),
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('choice_text', models.CharField(max_length=200, verbose_name='choice text')),
|
||||
('votes', models.IntegerField(default=0, verbose_name='votes')),
|
||||
('votes', models.IntegerField(verbose_name='votes', default=0)),
|
||||
],
|
||||
options={
|
||||
'verbose_name_plural': 'choices',
|
||||
'verbose_name': 'choice',
|
||||
'verbose_name_plural': 'choices',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Poll',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')),
|
||||
('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)),
|
||||
('question', models.CharField(max_length=200, verbose_name='question')),
|
||||
('pub_date', models.DateTimeField(verbose_name='date published')),
|
||||
],
|
||||
options={
|
||||
'verbose_name_plural': 'polls',
|
||||
'verbose_name': 'poll',
|
||||
'verbose_name_plural': 'polls',
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='choice',
|
||||
name='poll',
|
||||
field=models.ForeignKey(to='polls.Poll', verbose_name='poll'),
|
||||
field=models.ForeignKey(verbose_name='poll', to='polls.Poll'),
|
||||
),
|
||||
]
|
||||
|
|
|
|||
11
tox.ini
11
tox.ini
|
|
@ -6,16 +6,15 @@ exclude = migrations/*,docs/*
|
|||
|
||||
[tox]
|
||||
envlist =
|
||||
#py27-{1.8,1.9,master},
|
||||
#py33-{1.8},
|
||||
#py34-{1.8,1.9,master},
|
||||
#py35-{1.8,1.9,master},
|
||||
py35-{1.8},
|
||||
py27-{1.8,1.9,master},
|
||||
py33-{1.8},
|
||||
py34-{1.8,1.9,master},
|
||||
py35-{1.8,1.9,master},
|
||||
|
||||
[testenv]
|
||||
commands =
|
||||
flake8 djadmin2
|
||||
py.test --nomigrations []
|
||||
py.test []
|
||||
deps =
|
||||
-rrequirements_test.txt
|
||||
1.8: Django>=1.8,<1.9
|
||||
|
|
|
|||
Loading…
Reference in a new issue