保存 django modeltranslation 的已翻译 slug 不起作用

我已经为此烦恼了一天了。


我使用 django-modeltranslation 来翻译类似博客的帖子。一切正常,除了我还尝试根据本文自动翻译标题中的 slug:https : //raphaelbeck.wordpress.com/2011/04/16/how-to-translate-slug-with-django -模型翻译/


只有已翻译的 slug 不会被翻译保存到数据库中。


class Item(models.Model):

    category = models.ForeignKey(

        'help.category',

        on_delete=models.PROTECT,

        related_name='categories')

    title = models.CharField(_('Titel'),max_length=255)

    description = RichTextField(_('Omschrijving'))

    slug = AutoSlugField(_('slug'), populate_from='title', overwrite=True)


    class Meta:

        verbose_name = _(u"Item") 

        verbose_name_plural = _(u"Items")


        #automatically creating slugs for translations

    def save(self, *args, **kwargs):

        for lang_code, lang_verbose in settings.LANGUAGES:

            if hasattr(self, 'slug_%s' % lang_code) and hasattr(self, 'title_%s' % lang_code):

                setattr(self, 'slug_%s' % lang_code, slugify(getattr(self, 'title_%s' % lang_code, u"")))

            print(self.slug_nl)

            print(self.slug_en)


        print(self.slug_nl)

        print(self.slug_en)

        super().save(*args, **kwargs)


    def __str__(self):

        return str(self.title)

我添加了一些打印功能以查看实际发生的情况。控制台日志符合预期:


荷兰蛞蝓


没有任何


荷兰蛞蝓


英文slug


荷兰蛞蝓


英文slug


-> slug_en 根据控制台中的标题正确翻译,但在数据库中保存了荷兰语 slug。


提前致谢!任何想法都非常感谢。


汪汪一只猫
浏览 206回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python