首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我有问题与django-parler 2.0.1后,我已经申请迁移到翻译,它不会显示产品字段在管理网站

我有问题与django-parler 2.0.1后,我已经申请迁移到翻译,它不会显示产品字段在管理网站
EN

Stack Overflow用户
提问于 2020-04-02 12:41:00
回答 1查看 284关注 0票数 0

这是我在models.py文件中的翻译设置,在我同步迁移后,django-parler2.0.1不会在管理站点中显示产品的字段。我目前使用的是Django 3.0.3。

代码语言:javascript
复制
from django.db import models
from django.urls import reverse
from parler.models import TranslatableModel, TranslatedFields





class Category(TranslatableModel):
    translations = TranslatedFields(
            name = models.CharField(max_length=200,
                                    db_index=True),
            slug = models.SlugField(max_length=200,
                                    db_index=True,
                                    unique=True)
        )

    class Meta:
        # ordering = ('name',)
        verbose_name = 'category'
        verbose_name_plural = 'categories'

    def __str__(self):
        return self.name

    def get_absolute_url(self):
            return reverse('shop:product_list_by_category',
                           args=[self.slug])


class Product(TranslatableModel):
    translations = TranslatedFields(
            name = models.CharField(max_length=200, db_index=True),
            slug = models.SlugField(max_length=200, db_index=True),
            description = models.TextField(blank=True)
        )
    category = models.ForeignKey(Category,
                                 related_name='products',
                                 on_delete=models.CASCADE)
    image = models.ImageField(upload_to='products/%Y/%m/%d',
                              blank=True)

    price = models.DecimalField(max_digits=10, decimal_places=2)
    available = models.BooleanField(default=True)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

    #class Meta:
    #    ordering = ('name',)
    #    index_together = (('id', 'slug'),)

    def __str__(self):
        return self.name

    def get_absolute_url(self):
            return reverse('shop:product_detail',
                           args=[self.id, self.slug])

我已经在admin.py文件中注册了该模型,但它不会显示产品描述和价格字段,我得到的只是翻译的选项卡。

代码语言:javascript
复制
from django.contrib import admin
from .models import Category, Product
from parler.admin import TranslatableAdmin


@admin.register(Category)
class CategoryAdmin(TranslatableAdmin):
    list_display = ['name', 'slug']

    def get_prepopulated_fields(self, request, obj=None):
            return {'slug': ('name',)}


@admin.register(Product)
class ProductAdmin(TranslatableAdmin):
    list_display = ['name', 'slug', 'price',
                    'available', 'created', 'updated']
    list_filter = ['available', 'created', 'updated']
    list_editable = ['price', 'available']

    def get_prepopulated_fields(self, request, obj=None):
            return {'slug': ('name',)}

我想知道我做错了什么,我得到了这个,我想知道是否有更好的方法来使用Django-parler 2.0.1进行翻译配置。欢迎任何建议!!

EN

回答 1

Stack Overflow用户

发布于 2020-05-19 10:26:14

显然,我能够通过首先删除所有迁移来解决这个问题,我还必须丢弃我的数据库并切换到PostgreSQL,在那之后,我重新应用迁移,它起作用了。所有的字段现在都可以在管理站点中看到了!但要注意备份数据库,因为所有内容都将被删除。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60984340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档