Hi Andy, On 06/04/2015 09:44 AM, Andy Gimblett wrote: > I've come across something which might possibly be a Django bug, but I wanted > to raise it here first in case I'm missing something, or this is expected > behaviour. > > There's a fuller explanation and easily runnable example here: > > https://github.com/gimbo/django-ugettext_lazy_migrations > > In short, given the following model (note the empty help_text string), > > from django.db import models > from django.utils.translation import ugettext_lazy as _ > > class X(models.Model): > y = models.CharField(help_text=_(''), max_length=10) > > repeated calls of "manage.py makemigrations" will, after the initial > migration, produce an infinite series of new migrations, each of which > contains an AlterField, but which does nothing. The expected behaviour would > be to produce an initial migration and then no further migrations, of course. > > The problems goes away if you do any of the following: > > * Remove the help_text parameter > * Use a non-empty help_text > * Don't internationalise the help_text value > * Use ugettext instead of ugettext_lazy (which, I understand, you shouldn't) > > I've reproduced it on all released 1.8.x Django versions up to 1.8.2, but it > doesn't exhibit on any 1.7.x versions I've tried. > I haven't tried any development versions. > > Can anyone provide any insight? Is this worth raising a bug over?
That is most certainly a bug. It's not a super-high-priority bug (because an empty translated help_text is an odd thing to do), but it's a bug nonetheless and should be filed at https://code.djangoproject.com/newticket and fixed. I would guess the problem has to do with a careless `if help_text:` somewhere in the migration detection code. It would be worth checking whether the same problem exists with any other similar field parameters (e.g. `label`). Thanks for finding and reporting the bug! Carl -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/55708551.1010702%40oddbird.net. For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: OpenPGP digital signature

