Skip to content

Commit 429a347

Browse files
committed
Merge pull request #163 from treyhunner/no-reverse-user-relationship
Remove default accessor for historical models on auth.User
2 parents ba5c75d + de72e4a commit 429a347

File tree

5 files changed

+24
-3
lines changed

5 files changed

+24
-3
lines changed

CHANGES.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ tip (unreleased)
55
----------------
66
- Add support for Django 1.8+
77
- Deprecated use of ``CustomForeignKeyField`` (to be removed)
8+
- Remove default reverse accessor to `auth.User` for historical models (gh-121)
89

910
1.5.4 (2015-01-03)
1011
------------------

simple_history/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class HistoricalRecords(object):
3737
thread = threading.local()
3838

3939
def __init__(self, verbose_name=None, bases=(models.Model,),
40-
user_related_name=None):
40+
user_related_name='+'):
4141
self.user_set_verbose_name = verbose_name
4242
self.user_related_name = user_related_name
4343
try:

simple_history/tests/migration_test_app/migrations/0001_initial.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class Migration(migrations.Migration):
3030
('history_id', models.AutoField(serialize=False, primary_key=True)),
3131
('history_date', models.DateTimeField()),
3232
('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
33-
('history_user', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, null=True)),
33+
('history_user', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, null=True)),
3434
],
3535
options={'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical yar'},
3636
bases=(models.Model,),

simple_history/tests/models.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,3 +237,11 @@ class Meta:
237237
class PollInfo(models.Model):
238238
poll = models.ForeignKey(Poll, primary_key=True)
239239
history = HistoricalRecords()
240+
241+
242+
class UserAccessorDefault(models.Model):
243+
pass
244+
245+
246+
class UserAccessorOverride(models.Model):
247+
pass

simple_history/tests/tests/test_models.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
Person, FileModel, Document, Book, HistoricalPoll, Library, State,
1818
AbstractBase, ConcreteAttr, ConcreteUtil, SelfFK, Temperature, WaterLevel,
1919
ExternalModel1, ExternalModel3, UnicodeVerboseName, HistoricalChoice,
20-
HistoricalState, HistoricalCustomFKError, Series, SeriesWork, PollInfo
20+
HistoricalState, HistoricalCustomFKError, Series, SeriesWork, PollInfo,
21+
UserAccessorDefault, UserAccessorOverride
2122
)
2223
from ..external.models import ExternalModel2, ExternalModel4
2324

@@ -694,3 +695,14 @@ def test_sameinstant(self):
694695
{'pk': 2, 'history_date': yesterday},
695696
])
696697
assert HistoricalPoll.objects.latest().pk == 1
698+
699+
700+
class TestUserAccessor(unittest.TestCase):
701+
702+
def test_accessor_default(self):
703+
register(UserAccessorDefault)
704+
assert not hasattr(User, 'historicaluseraccessordefault_set')
705+
706+
def test_accessor_override(self):
707+
register(UserAccessorOverride, user_related_name='my_history_model_accessor')
708+
assert hasattr(User, 'my_history_model_accessor')

0 commit comments

Comments
 (0)